【发布时间】:2019-04-16 04:22:48
【问题描述】:
我使用 Laravel 创建 API 并使用邮递员检查我的 API。当我在邮递员中输入正确的 URL 时,它工作正常,但是当我输入错误的 URL 时,它显示 HTML 和 Laravel 404 错误,我想以 JSON 格式返回一条消息,我该怎么做。
【问题讨论】:
-
它是 404 的事实是否还没有传达足够的信息?调用者应该很清楚问题是什么,不是吗? 404 表示“您要求的内容不存在”......客户端可以检测到状态代码并使用它来决定下一步做什么。您还想提供哪些其他信息?
-
@ADyson 我想你没有明白我的意思,我是说当我的 URL 在邮递员中是
http://localhost:8005/api/login时,它会显示令牌和值,但是当我的 URL 是http://localhost:8005/api/log时,这会显示一些 HTML 和 Laravel 404错误页面,我这次要返回JSON格式的消息。像“Messege”=>“未找到” -
我的意思是你不需要 - 事实上它是 404 应该足以让客户知道该做什么。期望 JSON 的客户端无论如何都不会尝试显示 HTML。如果客户端遇到 HTTP 错误,它会停止处理并处理该错误。它可以丢弃 HTML。如果您打算在 JSON 中输入的只是“未找到”,那是多余的 - 每个人都已经知道 404 的含义。我认为您不需要这样做-您会付出很多努力而没有实际收获。也许我错了 - 你能告诉我你的客户端应用程序将如何从中受益吗?
-
@ADyson 没有客户端,这是我的任务,我谷歌了很多,发现我必须更新我的
Exceptions/handler.php但它不起作用,这就是我在这里的原因。 -
“没有客户,”...总是有客户。否则如何提出请求? “这是我要做的任务”。为什么?究竟是为了什么目的?如果你想这样做,你必须有一些理由,为什么你认为这会对阅读回复的人有所帮助。我的观点是,我不认为它提供了任何有用的功能,所以真的很少有理由花时间在它上面。从我第一条评论的赞成票来看,我不是唯一一个相信这一点的人。我试图帮助你阻止你把时间浪费在没有实用价值的事情上。