我有一个图表的域模型。当用户尝试修改它时,将执行循环检查并返回相应的http响应代码。
但是,我们希望在客户端上构建一个建议的更改,并检查它是否对图表的当前状态有效。
代码很简单。只需让用户POST
graphChangesToValidate
使用某种验证方法,我的后端服务就可以确认是否可以进行更改...
我的问题是在这种情况下我应该返回哪些HTTP状态代码?
200
意味着建议的更改通过了验证。对于失败,我不知道400
是否合适,因为请求格式正确,服务器只是说"我理解你的请求,答案是否定的。"
我认为只要验证方法完成,我就应该在内容中返回200
,其中包含true
或false
布尔值。
有没有更标准的方法来处理这个问题?
答案 0 :(得分:2)
状态代码通常不会提供有关内容的信息,而只是提供请求/响应根据协议成功(或不是)。
A(200)状态代码是 http标头的一部分,您正在谈论的内容听起来像消息内容给我。
话虽如此,只要服务器和客户同意如何处理它,您就可以以任何方式使用/滥用它。但是有一些有用的消息对其他开发人员(以及一些API文档)有意义会更好。
答案 1 :(得分:1)
答案是......也许吧。我个人通常在响应中使用200以及其他详细信息,例如错误代码以及验证步骤失败的详细信息。 400范围内的http代码也可以用于验证错误。
请查看此问题,以获得一些好的评论和讨论:Is returning HTTP 409 appropriate for a validation check?
我认为通常只要请求被适当地格式化并接收,就应该使用200代码,然后业务逻辑处理验证错误。如果格式化时出错,则可以使用HTTP错误作为响应。