gpt4 book ai didi

api - 如果父资源不存在,应在 REST API 中为子资源使用哪个 HTTP 代码?

转载 作者:行者123 更新时间:2023-12-04 23:49:23 26 4
gpt4 key购买 nike

我和我的团队正在编写 REST API,但某些概念仍未完全理解。

在给定资源中:objective/{id}/goal目标是收集

如果消费者试图达到一个不存在的目标,API 将返回状态代码 404 ,很简单。

例如:objective/999返回 404
出于某种原因,消费者试图从这个不存在的资源中获取目标:

例如:objective/999/goal返回 ?
哪个是最适合返回的代码?我有一种感觉,这应该是一个 404也。有些人正在考虑另一个错误代码,因为 API 应该以某种方式通知父资源首先不存在。

最佳答案

使用 404。请记住,404 响应可能包含响应正文。因此,您可以使用以下内容进行响应:

Request
GET /objective/7/goal

Response
404 Not Found
{
"type": "ParentNotFound",
"description": "The parent resource was not found.",
"parent_uri": "/objective/7"
}

通常,为错误状态代码包含某种响应主体是个好主意。即使以标准方式使用错误状态代码,作为 API 客户端看到关于我为什么看到错误的人工消息仍然很好。当错误状态代码以几乎标准但略有偏离的方式使用时,好处甚至更大。

关于api - 如果父资源不存在,应在 REST API 中为子资源使用哪个 HTTP 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26388277/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com