我有一个休息服务端点,用于检查用户名是否可用。目前我在xml或json中返回一个布尔值,但对我来说感觉很尴尬。如果用户名可用,我认为它会返回200 OK
,如果不是,则会409 Conflict
或423 Locked
,但是那些感觉也很尴尬。
所以我的问题是,对于诸如此类的服务响应是否有适当/标准的响应?它是什么?
答案 0 :(得分:2)
如果我正在开发这个RESTful服务,我会返回一个HTTP状态代码404 [NOT_FOUND],其中一个正文(如布尔值)表示没有找到username
。
<强>原因:强>
REST基本上是与资源紧密耦合的术语。在这种情况下,username
是一种资源。您正在使用服务来查询和检查“资源状态”(也就是说:用户名是否已存在)。由于REST在HTTP之上工作,因此发送与您为资源所做的状态检查有关的HttpStatus代码很方便。
你可以把它想象成“从一个主题为找不到你所要求的的组织发给你的信,以及一个写着 Dear Sinaesthetic的信函,我们搜索过你正在寻找什么,但很抱歉,我们没有找到一个“。
我希望我在这里有意义。 :)