我正在实现一项基本服务,将用户名添加到数据库中的用户记录中。该服务首先检查用户名是否存在,如果确实存在,则返回一些值以告知客户端已经使用了用户名。如果用户名可用,则更新用户记录并返回“OK”。在此应用程序中,客户端是本机IOS移动应用程序,服务器是node.js.但这与这个问题无关。
对于这项服务,您建议我使用哪些作为我的返回值?例如,如果成功,我应该返回状态代码200吗?布尔值?自定义字符串?类似地,对于不成功的条件,建议的和习惯的返回值是什么?
答案 0 :(得分:0)
我会为成功条件返回201,对于不成功的条件返回400或409.
希望有所帮助!
布兰登
答案 1 :(得分:0)
当创建某个资源时,意图使用状态201。因此,在创建用户时,您应该设置状态代码201,并在相同的请求进行更新时将其设置为200。此外,您可以返回已创建/更新的用户的ID ID。恕我直言,你应该保持创建和更新作为单独的服务。
发生错误时,您可以使用适当的4xx错误(参考link)。如果您的响应是XML或JSON,请始终在响应中保留状态消息属性。您可以将相应的消息设置为此消息,移动应用程序可以根据您提供的HTTP状态代码检查此消息。