首页 文章

在REST API中发出有关404错误的信号

提问于
浏览
0

告诉调用者API中的错误,特别是"Not found"错误的惯用方法是什么?假设,我有一个网址 /api/vi1/check/123 . 我应该归还什么呢

  • id = 123没有这样的记录? 404错误(Http状态404)?

status: 404 (http); data: { }

  • 或者我应该返回OK状态(Http status 200) and json的内部状态

status: 200 (http); data: { status: 404, msg: "Not found"}?

  • 和(与 1 相关)如果没有这样的 url ,我应该返回什么? Also Http 404状态?

是的,我已经看过最佳实践视频并阅读有关REST API的文章,但这些问题没有得到明确解答 .

3 回答

  • 1

    REST是关于使用HTTP的语义 . 它也适用于错误代码 . 您应该使用404状态代码,并最终在正文中使用更具描述性的错误消息 .

  • -1

    是的,你应该返回一个简单的404,不多也不少 . (也许是一条消息......)这表明你所寻找的资源并不存在于REST中的良好实践 .

  • 2

    在此处不提供任何正文(如内部状态代码或消息)也是一种好习惯 . 如果在这种情况下确实需要消息(错误时为404或500),则可以使用其他HTTP头字段(例如X-Message:数据库不可用)来执行此操作 . 但是这里有一个空的响应体404就足够了 .

相关问题