php rest api lumen,lumen Rest API 起步

本文档详细介绍了如何在Lumen框架中设置RESTful API,包括修改.env文件配置数据库,创建数据库迁移,定义数据表,创建模型,构建控制器,定义路由,并提供了API测试用例。整个过程涵盖了从初始化到实现CRUD操作的全部步骤。
摘要由CSDN通过智能技术生成

lumen Rest API 起步

修改项目文件

.env

DB_DATABASE=

DB_USERNAME=

DB_PASSWORD=

bootstrap/app.php

$app->withFacades();

$app->withEloquent();

数据库迁移

创建数据表

php artisan make:migration create_table_users --create=users

定义数据表

database/migrations/迁移文件

Schema::create(‘users‘, function (Blueprint $table) {

$table->id();

$table->string(‘name‘);

});

运行迁移

php artisan migrate

创建模型

接下来我们在app目录下创建模型文件User.php

namespace App;

use Illuminate\Auth\Authenticatable;

use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;

use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;

use Illuminate\Database\Eloquent\Model;

use Laravel\Lumen\Auth\Authorizable;

class User extends Model implements AuthenticatableContract, AuthorizableContract

{

use Authenticatable, Authorizable;

/**

* The attributes that are mass assignable.

*

* @var array

*/

protected $table = ‘users‘;

protected $fillable = [

‘id‘, ‘name‘,

];

/**

* The attributes excluded from the model‘s JSON form.

*

* @var array

*/

protected $hidden = [];

public $timestamps = false;

}

创建控制器

然后创建控制器文件app/Http/Controllers/UserController.php

namespace App\Http\Controllers;

use App\User;

use DB;

use Illuminate\Http\Request;

class UserController extends Controller

{

public function createUser(Request $request)

{

$user = User::create($request->all());

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

}

public function updateUser(Request $request,$id)

{

$user = User::find($id);

$user->name = $request->input(‘name‘);

$user->save();

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

}

public function deleteUser($id)

{

$user = User::find($id);

$user->delete();

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

}

public function index($id = null)

{

if (!empty($id)) {

$users = User::find($id);

}else{

$users = User::all();

}

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

}

public function hello()

{

return ‘hello‘;

}

}

定义路由

修改文件bootstrap/app.php

$app->router->group([

‘namespace‘ => ‘App\Http\Controllers‘,

], function ($router) {

require __DIR__.‘/../routes/web.php‘;

require __DIR__.‘/../app/Http/routes.php‘;

});

return $app;

打开app/Http/routes.php并添加路由

$router->get(‘/hello‘, array(

‘uses‘ => [email protected]

));

$router->group([‘prefix‘ => ‘api‘], function() use ($router){

$router->post(‘person‘, [email protected]);

$router->put(‘person/{id}‘,[email protected]);

$router->delete(‘person/{id}‘,[email protected]);

$router->get(‘person[/{id}]‘,[email protected]);

});

测试API

curl -i -X POST -H "Content-Type:application/json" http://www.lelumen.test/api/person -d ‘{"id":2,"name":"test1"}‘

curl -i -X POST -H "Content-Type:application/json" http://www.lelumen.test/api/person -d ‘{"name":"test22"}‘

curl -H "Content-Type:application/json" http://www.lelumen.test/api/person/1 -X PUT -d ‘{"name":"ttt"}‘

curl -H "Content-Type:application/json" http://www.lelumen.test/api/person -X GET

curl -H "Content-Type:application/json" http://www.lelumen.test/api/person/1 -X GET

curl -X DELETE http://www.lelumen.test/api/person/1

空格引起的奇葩,阿哈哈

参考文件

原文:https://www.cnblogs.com/jjxhp/p/13363948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值