gpt4 book ai didi

rest - 如果请求丢失或错误值(多选)路径参数,返回什么 HTTP 状态响应代码?

转载 作者:可可西里 更新时间:2023-11-01 17:04:20 26 4
gpt4 key购买 nike

带有路径参数的 REST API:/search/{option} , {option} 参数有一个可能值列表“A”、“B”、“C”。仅使用 GET 方法。

当 {option} 参数传递的值不正确时(例如“D”),适当的状态代码是什么?如果缺少参数?

如果路径参数缺少最终端点:/search/此服务不存在。

最佳答案

What is the appropriated status code to give when {option} parameter is passed with worng value( for example "D")? and if the parameter is missing?

404

The 404 (Not Found) status code indicates that the origin server did not find a current representation for the target resource

target resource是由 request line 标识的资源作为请求目标。所以在开始的请求中......

GET /search/D HTTP/1.1

目标资源是与标识符/search/D对应的资源。

由于 /search/D 不是您应用程序中的资源,因此它没有当前表示形式,因此 404 是正确的响应 - 它是我们向客户端(和中间组件)宣布请求目标中存在拼写错误的方式。

事实上,您的实现将对 /search/D 的请求路由到处理 /search/A/search/B 的同一函数> 和 /search/C 是您实现的偶然事件,在设计您的响应时无需考虑。

同样的论点适用于

GET /search/ HTTP/1.1
GET /search HTTP/1.1

作为响应正文的一部分,您可以发送一条消息来描述一些明显的替代拼写:

HTTP/1.1 404 Not Found

Did you mean?

/search/A
/search/B
/search/C

404 响应在默认情况下是可缓存的 - 通用客户端可以存储返回的表示供以后使用,而无需解释负载。

关于rest - 如果请求丢失或错误值(多选)路径参数,返回什么 HTTP 状态响应代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58013198/

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