.net - bool 查询的正确响应(如果资源存在)?

标签 .net rest http-status-codes

我有一个休息服务端点,用于检查用户名是否可用。目前我有它在 xml 或 json 中返回一个 bool 值,但对我来说感觉很尴尬。我考虑过如果用户名可用则返回 200 OK ,如果用户名不可用则返回 409 Conflict423 Locked ,但这也让人感到尴尬.

所以我的问题是,对于这样的服务响应是否有适当/标准的响应,它是什么?

最佳答案

如果我正在开发这个 RESTful 服务,我会返回一个 HTTP 状态代码 404 [NOT_FOUND],其主体具有表示 username 的某些东西(如 bool 值)值没有找到。

原因:
REST 基本上是一个与资源紧密耦合的术语。在这种情况下,username是一种资源。您正在使用服务来查询和检查“资源状态”(又名:用户名是否已经存在)。由于 REST 在 HTTP 之上工作,因此发送与您为资源所做的状态检查相关的 HttpStatus 代码很方便。

你可以把它想象成“从一个组织收到一封写给你的信,信的主题是无法找到你所要求的,信的正文是亲爱的华美人,我们搜索了您要找的东西,但很抱歉我们没有找到”。

我希望我在这里说得有道理。 :)

关于.net - bool 查询的正确响应(如果资源存在)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17199545/

相关文章:

android - 使用 rest client 和 androidannotations 忽略 SSL

暴露资源 ID 时的 REST 安全设计良好实践

ruby - Rails3/ruby gem 中是否有将状态代码映射到消息的方法?

php - PHP 可以检测它已经或准备发送到浏览器的状态代码吗?

c# - 重写 .NET 基类库中的现有功能

c# - 代码契约(Contract)中的 "Does not contain whitespace"?

.net - aspx 站点在网络服务器上的行为有所不同...但是为什么呢?

javascript - 用于指令的 Angular API

http - API 何时应抛出 4xx 状态代码(错误),何时抛出 5xx?

c# - 存储几十个列的配置值的最佳方法是什么?