restapi个人理解,php rest api lumen,使用Lumen框架创建 REST API 实例教程

 2023-09-25 阅读 19 评论 0

摘要:Lumen是一个基于Laravel的微框架,主要用于小型应用和微服务,专注于性能和速度的优化,该框架一个重要的应用就是构建 REST API。为什么用Lumen构建REST API Lumen访问速度非常快每秒能够处理的请求数比Laravel更多restapi个人理解、使用nikic/FastRoute取

Lumen是一个基于Laravel的微框架,主要用于小型应用和微服务,专注于性能和速度的优化,该框架一个重要的应用就是构建 REST API。

154685791510251030.jpg

为什么用Lumen构建REST API

· Lumen访问速度非常快

· 每秒能够处理的请求数比Laravel更多

restapi个人理解、·使用nikic/FastRoute取代Symphony,从而提升了性能

安装 & 配置

这里我们使用Composer在web根目录下安装:composer create-project laravel/lumen rest_api

安装完成后,在.env中配置数据库连接信息:

DB_DATABASE=

php require?DB_USERNAME=

DB_PASSWORD=

然后在bootstrap/app.php中取消下面两行之前的注释:

$app->withFacades();

$app->withEloquent();

restapi定义,此时在浏览器访问rest_api.dev(Mac下使用Valet,Windows请自行设置虚拟域名),页面显示如下:

Lumen (5.3.2) (Laravel Components 5.3.*)

数据库迁移

接下来我们来创建数据表。

在项目根目录下运行如下命令:

php api?php artisan make:migration create_table_cars --create=cars

该命令将会在 database/migrations/目录下创建一个迁移文件_create_table_cars.php,接下来我们来编辑这个文件来定义数据表。

Schema::create('cars', function (Blueprint $table) {

$table->increments('id');

$table->string('make');

rest框架?$table->string('model');

$table->string('year');

});

现在我们来运行这个迁移:

php artisan migrate

lua php、这样,就会在数据库中创建对应的表:

154685828676807426.png

创建模型

接下来我们在app目录下创建模型文件Car.php,并编写代码如下:<?php  namespace App;

use Illuminate\Database\Eloquent\Model;

class Car extends Model

python rest api?{

protected $fillable = ['make', 'model', 'year'];

public $timestamps = false;

}

创建控制器

restapi开发框架、然后创建控制器文件app/Http/Controllers/CarController.php:<?php

namespace App\Http\Controllers;

use App\Car;

use Illuminate\Http\Request;

class CarController extends Controller

java rest api开发。{

public function createCar(Request $request)

{

$car = Car::create($request->all());

return response()->json($car);

phpapi接口写法,}

public function updateCar(Request $request, $id)

{

$car = Car::find($id);

$car->make = $request->input('make');

php调用第三方api接口、$car->model = $request->input('model');

$car->year = $request->input('year');

$car->save();

return response()->json($car);

}

python restful api 框架?public function deleteCar($id)

{

$car = Car::find($id);

$car->delete();

return response()->json('删除成功');

restapi用法教程,}

public function index()

{

$cars = Car::all();

return response()->json($cars);

}

}

定义路由

剩下的就是配置路由了,我将会为增删改查配置对应路由。打开app/Http/routes.php并添加如下路由:$app->group(['prefix' => 'api/v1'], function($app)

{

$app->post('car','CarController@createCar');

$app->put('car/{id}','CarController@updateCar');

$app->delete('car/{id}','CarController@deleteCar');

$app->get('car','CarController@index');

});

注意我将这组路由放到了api/v1前缀下。

测试API

现在让我们用curl来测试这组REST API。

首先我们来测试创建:

curl -i -X POST -H "Content-Type:application/json" http://rest_api.dev/api/v1/car -d '{"make":"audi","model":"tt","year":"2016"}'

输出如下则表示创建成功:

HTTP/1.0 200 OK

Host: rest_api.dev

Connection: close

X-Powered-By: PHP/7.0.6

Cache-Control: no-cache

Content-Type: application/json

Date: Sun, 13 Nov 2016 07:06:13 GMT

{"make":"audi","model":"tt","year":"2016","id":1}

然后我们来测试更新刚刚创建的这条记录:

curl -H "Content-Type:application/json" http://rest_api.dev/api/v1/car/1 -X PUT -d '{"make":"bmw","model":"x6","year":"2016"}'

输出如下,表示更新成功:

{"id":1,"make":"bmw","model":"x6","year":"2016"}

接下来我们来测试列表页面:

curl -H "Content-Type:application/json" http://rest_api.dev/api/v1/car -X GET

输出如下:

[{"id":1,"make":"bmw","model":"x6","year":"2016"}]

最后,我们测试下删除API:

curl -X DELETE http://rest_api.dev/api/v1/car/1

最后更新:2019-01-07 18:52:17

赞 (9)

or

分享 (2)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/94256.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息