laravel怎样写api
laravel作为一门盛行的php框架,已经成为了开发职员写api的首选。通过laravel,你可以快速编写高质量的api,其越来越受到企业级和小我私家开发者的接待。
在这篇文章中,我们将探讨怎样使用Laravel编写API。我们将从以下几个方面入手:构建API、API路由、控制器和API测试。
构建API
在构建API时,需要使用Laravel提供的内置中心件和路由器。从Laravel 5.5最先,框架内置了API资源控制器(API Resource Controller)功效。这个特征使得开发者可以更快的建设标准的REST API,并且资助开发者维护代码一致性。
怎样使用资源控制器?首先,在下令行中执行以下下令,新建一个控制器:
php artisan make:controller Api/PostController --api
登录后复制
这会建设一个名为PostController的API控制器,它将自动继续Laravel的内置的ResourceController,并且包括所有的预界说的要领。这些要领包括:index、show、store、update和destroy。
API路由
在Laravel中,路由与控制器细密耦合,由于我们需要在路由中界说处置惩罚API请求的顶级控制器。
Route::prefix('api')->group(function () { Route::resource('posts', 'Api\PostController'); });
登录后复制
这个路由界说了一个’/api/posts’的URL,用来操作Post模子的 CRUD 功效。
控制器
在资源控制器中,我们可以使用预界说的函数来处置惩罚常见的使命。例如,下面的代码最先建设并附加post文章的文件上传,将文件从存储库中移动到公共目录中:
public function store(Request $request) { $path = $request->file('photo')->store('public/photos'); $post = new Post; $post->title = $request->input('title'); $post->description = $request->input('description'); $post->slug = str_slug($request->input('title')); $post->photo = $path; $post->save(); return new Resource($post); }
登录后复制
API测试
测试API是确保其功效正常事情的要害,请确保在编写API时编写测试用例。Laravel也内置了框架测试工具来资助您轻松地编写测试用例。
在为API编写测试时,您可以使用发送HTTP请求并检查响应的要领来测试控制器。例如,下面的代码测试控制器是否可以准确地获取帖子的列表:
public function testPostIndex() { $response = $this->json('GET', '/api/posts'); $response->assertStatus(200); $response->assertJsonStructure([ 'data' => [ '*' => [ 'id', 'title', 'description', 'slug', 'photo', 'created_at', 'updated_at' ] ] ]); }
登录后复制
结论
在Laravel中,编写API很是容易。使用预界说的API控制器和内置的路由器,您可以快速建设标准的REST API。使用Laravel的测试工具编写测试用例,检查API功效是否正常事情。优异的文档和社区支持,是让Laravel成为开发职员最受接待的框架之一的要害因素。
以上就是laravel怎样写api的详细内容,更多请关注本网内其它相关文章!