Laravel 开发 RESTful API 的一些心得

2018-03-01 22:32:24 +08:00
 waitmoonman

最近用 Laravel 写了一段时间的 API,总结一下自己的心得吧。

Start

Route::prefix('v1')->group(function () {
	// more
});

一个简单的接口示例

验证

路由

表单验证

可以使用控制器自带的表单验证,更推荐使用 表单类,能分离都分离出去,控制器不要处理太多事情。 能分离的代码都不要吝啬~~~

数据转换

响应输出

当时在 laravel-china 看到的这个帖子,然后觉得这个方式不错,所以自己也这样子,使用基类的方法统一响应输出。

异常

异常算是一大手笔了,处理好异常,可以让你的代码优雅很多。 \App\Exceptions\Handler::render方法可以捕获到很多有用的异常,例如,我的代码是这样写的: UnauthorizedHttpException这个是捕获jwt异常 ValidationException这个是表单异常,捕获之后,表单错误消息可以很好的格式化, ModelNotFoundException这个是模型找不到的异常,捕获之后,可以直接在控制器直接这样

// 未捕获之前的写法
public function show($id)
{
	$user = User::find($id);
	if (! $user) {
		
	}
	
	// do something
}

// 现在
public function show($id)
{
	$user = User::findOrFail($id);
}
// 甚至这样
public function show(User $user)
{
	// do something
}

自己写了一个packages


工作和API开发有关,用到其他有经验了再回来补补。

更多参考

RESTful API 设计指南

3081 次点击
所在节点    PHP
1 条回复
xxstop
2018-03-01 22:47:22 +08:00
mark laravel 的开发指南还是不错~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/434071

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX