laravel9大家是如何构建API接口的
5.X-7.X、8版本的laravel构建API的话一般是Dingo+JWT(tymon/jwt-auth)构建API和认证。但是随着laravel9(今早安装的,已经9.2了)的更新和以前的DingoAPI、JWT已经不维护了,那么大家是如何构建API的?
如何优雅的构建API的统一出口和提示?之前统一在App/Http下的Controller里写success和fail方法,因为Http下的控制器都继承App/Http下的Controller;code也是使用HTTP状态码,稍微复杂点的就使用常量或者枚举的方式自定义状态码。
如果进行了代码分层,例如:Interface→Service→Reposetory→Controller,如何更优雅的处理结果?是在Service调用Reposetory后对结果进行throw呢还是return?
关于 LearnKu
我是封装了一个助手函数,自定义返回状态码使用了枚举,错误代码在
Exceptions/Handler.php中进行判断,然后返回给助手函数关于分层调用,我个人更倾向
throw,这样不必判断调用的返回值,我使用的是abort()助手函数,和我以下封装的方法契合度很高。助手函数:
Exceptions/Handler.php自己瞎搞的,也没人指导过我,有不好的地方你可以优化或者指导我一下。