看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

看了站长的L03 Laravel 教程,我有一个疑问!返回的数据不一致,这样前端会好处理吗?如何返回统一的数据格式?
正常返回数据统一格式写一个公共方法就好了,那Laravel框架表单验证失败响应如何与正常数据返回统一格式,还有abrot()和抛出的Exception异常:
1.表单验证返回是这样的
看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

2.abrot()是这样的
看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

3.抛异常是这样的

看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

4.获得TOKEN

看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

5.数据列表

看了[L03 Laravel 教程],对于数据返回格式不统一我有一个疑问?请教各位大佬

不统一没问题吗?有必要改为统一格式吗?反正我看到市面上通用公共接口返回的是统一数据格式,这种不统一的前端也不好处理

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

1、你仔细看错误类的返回,是都有一个 message 字段的,其他字段有一部分是调试输出,你可以把 .env 的 debug 关了再看

2、表单验证的错误会额外带有包含具体字段信息的 errors 字段,这个可以通过 422 HTTP 状态码单独处理

3、现在很多应用采用的是通过 HTTP 状态码来区分请求状态,即 200 的请求一定是成功的,非 200 的请求一定是有问题的

4、基于第 3 点,请求成功的数据在外面再包一层是没有意义的,反正不同接口的有效数据的格式也不一样,还不如直接把有效数据置为 response 的 payload 去使用;同时对于非 200 的请求进行异常的统一处理(根据 HTTP 状态码、异常返回的 message 字段、诸如 422 等状态码带有的额外字段等)

1年前 评论
晓飞 (楼主) 1年前
讨论数量: 7

1、你仔细看错误类的返回,是都有一个 message 字段的,其他字段有一部分是调试输出,你可以把 .env 的 debug 关了再看

2、表单验证的错误会额外带有包含具体字段信息的 errors 字段,这个可以通过 422 HTTP 状态码单独处理

3、现在很多应用采用的是通过 HTTP 状态码来区分请求状态,即 200 的请求一定是成功的,非 200 的请求一定是有问题的

4、基于第 3 点,请求成功的数据在外面再包一层是没有意义的,反正不同接口的有效数据的格式也不一样,还不如直接把有效数据置为 response 的 payload 去使用;同时对于非 200 的请求进行异常的统一处理(根据 HTTP 状态码、异常返回的 message 字段、诸如 422 等状态码带有的额外字段等)

1年前 评论
晓飞 (楼主) 1年前

肯定统一的好啊

1年前 评论
晓飞 (楼主) 1年前

数据在data里面,422或者其他,都是在 errors 里面。

1年前 评论
晓飞 (楼主) 1年前
小李世界 (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!