标签: http-status-codes

RESTful API响应状态代码消除歧义

我正在开发一个RESTful API,并对某些场景中最合适的响应状态代码提出疑问.

考虑客户端对资源发出GET请求的情况.对于资源合法不存在的情况,如何可能存在轻微的服务中断(在部署期间等),我如何消除"未找到"响应的歧义.

rest web-services http response http-status-codes

4
推荐指数
2
解决办法
1709
查看次数

导致在WCF中返回HTTP错误状态

如何让我的WCF服务以RESTful方式传达错误?具体来说,如果调用者将无效的查询字符串参数传递给我的方法,我希望将400或404 HTTP错误返回给用户.当我搜索与WCF相关的HTTP错误状态时,我所能找到的只是人们试图解决他们收到的错误的页面.我宁愿不只是抛出一个FaultException,因为它会转换为500错误,这不是正确的状态代码.

rest wcf http http-status-codes

4
推荐指数
1
解决办法
4274
查看次数

发送HTTP 403.6状态代码

在我们的一些系统中,我们有一个IP地址阻止列表,可以阻止某些IP查看网站.目前PHP只是发出文字说你的IP地址已被阻止等等等等.

然而

我遇到了HTTP错误代码403,更确切地说是错误代码403.6(http://en.wikipedia.org/wiki/HTTP_403),我认为它比文本更好.

但我在某处读到.6仅适用于Windows或其他类似的东西?

我可以从我的LAMP服务器通过PHP发送403.6标头,这会比发送"你被阻止的文本"更好吗?

php http-status-codes http-status-code-403

4
推荐指数
1
解决办法
7746
查看次数

检查Rails中的HTTP状态代码

有没有一种简单的方法来检查Ruby on Rails 中另一个网站(例如http://google.com)的状态代码?

理想情况下,要检查的URL列表将从DB中提取并通过CRON(或等效的)进行处理.

html ruby ruby-on-rails http-status-codes

4
推荐指数
1
解决办法
9499
查看次数

Http响应代码无效数据和数据冲突

可能重复:
无效数据的REST响应代码

拥有以下REST资源:

POST /user/{primary_key}

该资源旨在像"ADD/UPDATE"操作一样工作.这意味着它可以用于:

  • 创建一个新用户
  • 更新现有用户的信息

如果客户想要创建新用户,则需要一些信息:

POST user/{pimary_key}
Paylod:
 - Username - (must be unique)
 - Password

如果客户想要简单地更新现有用户,则该呼叫仅需要包括主键和新/更改的信息.例如:

POST user/{pimary_key}
Paylod:
 - favorite hamburger type

这种情况可能会导致来自客户端的多个请求无效:

  • CONFLICT - 客户端更新现有用户,尝试将其更改为username已由其他用户使用的值.
  • 缺少信息 - 客户端尝试创建新用户,但不包括用户名和密码等必要信息.

在这些情况下返回的正确HTTP响应代码是什么?

非常感谢!

rest http http-status-codes

4
推荐指数
2
解决办法
7724
查看次数

Laravel不会遵守状态代码

我只是无法理解,并且不知道在哪里看,因为以下代码的响应状态代码总是200,即使我在主Response类中将其设置为400.

class Api_Controller extends Base_Controller
{

    public function __construct()
    {
          parent::__construct();

          //header("HTTP/1.0 404 Not Found"); ##> This works
          //die();

          $test = array('1' => '2');
          die(Response::json($test, 400));
    }
Run Code Online (Sandbox Code Playgroud)

我错过了什么?我没有使用任何扩展类,只是默认...

更新

这是Response::json...上面的输出:http://pastebin.com/RGcinSdg

如您所见,输出具有已设置的值...但仍由于某种原因,返回200

UPDATE2

var_dump(http_response_code());总是输出200

Update3 - 临时修复

我已激活扩展版本Response::json并向其添加以下行

http_response_code($status);
Run Code Online (Sandbox Code Playgroud)

但我仍然很想知道它为什么不这样做,它应该如何

php json http-status-codes laravel

4
推荐指数
1
解决办法
1万
查看次数

要在未找到的子资源上返回的状态代码

所以假设我有两个资源,Wallet和User.用户和电子钱包具有一对一的关系.在我的REST API中,我提供了一个选项,可以通过ID为用户提供不同的Wallet.因此,将用户移动到其他钱包的典型HTTP PUT请求可能如下所示:

PUT /api/user/3 HTTP/1.1
Host: api.myuserandwalletwebsite.com

{
    "wallet_id": 15
}
Run Code Online (Sandbox Code Playgroud)

这将更新用户以使用id = 15的钱包.但是,如果PUT请求包含在数据库中找不到的wallet_id,该怎么办?那么REST API应该返回什么?只是一个简单的404?

在未找到的子资源上返回404对我来说感觉很奇怪,因为404会产生误导:你可能认为404实际上是指未找到用户.

rest http http-status-codes

4
推荐指数
1
解决办法
3808
查看次数

ASP.NET API中Http状态代码的自定义异常

我的业务层中有几个自定义异常,在我的ASP.NET应用程序中冒泡到我的API方法.

目前,它们都转换为Http状态500.如何映射这些自定义异常,以便我可以返回不同的Http状态代码?

c# http-status-codes custom-exceptions asp.net-web-api

4
推荐指数
1
解决办法
3864
查看次数

502是否是数据库错误的适当状态代码?

502 Bad Gateway状态代码的定义是:

服务器在充当网关或代理时,在尝试完成请求时从其访问的上游服务器收到无效响应.

如果错误是由数据库引起的,它是一个适当的状态代码来响应吗?尽管500 Internal Server Error状态代码的定义没有说明错误必须是内部的,但我不喜欢在错误是外部时使用它.

Web服务器是否可以被视为网关或代理,因为它正在执行除与数据库通信之外的任务,例如调用其他API和服务?

database rest http-status-codes

4
推荐指数
2
解决办法
1733
查看次数

HTTP状态码4xx与5xx

我正在创建一个REST API,并且发现在某些情况下很难选择正确的HTTP状态代码.

假设我期望某个值,当它不存在时,我无法执行某个任务并返回错误.由于缺少值,服务器无法处理请求,但是发送它的客户端,状态良好但不完整.是否最好返回错误4xx5xx错误?

http http-status-codes

4
推荐指数
1
解决办法
4345
查看次数