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

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

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

3.抛异常是这样的

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

4.获得TOKEN

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

5.数据列表

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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

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

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

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

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

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

肯定统一的好啊

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

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

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

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

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

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

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

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

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