使用以下API:
feed?url=XXX
对参数url
执行的验证:
400 Bad Request
422 Unprocessable Entity
422
?? 应该为3返回什么状态错误。
与验证 2。不同,在不提取数据并尝试解析数据的情况下无法检查 3。,因此原始用户数据无法直接验证。
我在考虑422 Unprocessable Entity
,因为它与验证有关,即使不是直接数据(url
),也包括此数据的引用(url
的内容)。
您有什么看法?
答案 0 :(得分:0)
422不适合#2和#3。它与服务器理解Content-Type
标头有关,但无法解释HTTP请求正文中的实际内容。
我认为你可以在这里提出502 Bad Gateway
适合的论点。这有点奇怪,因为问题是两个用户错误(传入的url参数,所以4xx代码),但它也发生在服务器上,特别是原始服务器(这有意义一个5xx,特别是502)。
但是如果在这种情况下你严格认为这是客户端造成的问题(网址中输入错误)而不是服务器端,那么我会说没有足够的错误代码,你可能应该只需坚持400就可以了。
也许..也许你可以说409这可能在这里工作的论点。 409可用于以下情况:
通常,“其他资源”存在于同一系统中,但我不明白为什么外部Atom源也不会被视为冲突。
因为如果外部服务器上的Atom提要是“固定的”,那么用户创建的原始HTTP请求现在将起作用。所以409
类型适用于此。