Laravel:如何从API向客户端发送自定义错误消息?

oalqel3c  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(152)

我有一个Laravel API,可以向客户端返回JSON响应。默认情况下,Laravel以标准格式发送错误消息,例如422 Unprocessable Entity。但是,我希望以特定格式向客户端发送自定义错误消息,例如:

{
    "status": "error",
    "message": "Invalid email address"
}

我已经尝试使用带有自定义状态代码和消息的abort函数,但这不会以所需的格式发送响应。如何以上述格式向客户端发送自定义错误消息?

oaxa6hgo

oaxa6hgo1#

有很多可能的解决方案。以this为例。
您可以创建自己的验证器,或者只是扩展Laravel中构建的现有验证器。此外,还可以返回您需要的任何其他内容,例如:

return response()->json(['status' => 'error', 'message' => 'Your message here'], 422);

但如果您需要它进行验证,我会推荐前面提到的其他步骤,因为它们遵循更标准化的“良好实践”方法。
此外,在发送请求时,请确保设置以下头:

Accept:application/json

如果需要的话,你也可以使用Laravel中的中间件来“强制”这个header。链接here

相关问题