一、什么是HTTP 状态响应码/都有哪些状态响应码?
来自于Mozilla基金会网站的关于HTTP状态码的文章(
https://developer.mozilla.org/zh-TW/docs/HTTP/Response_codes)指出HTTP状态码分为5大类,分别代表:
1xx 信息化响应 (ps: http1.1之前是保留区段,HTTP1.1规定了2项)
2xx 成功响应
3xx 重定向消息
4xx 客户端错误
5xx 服务器端错误
二、为什么要自定义状态响应码?
既然HTTP规范已经定义了这么多状态响应码,我们自定义状态响应码有什么用处呢?
目前HTTP规范定义的响应码,各大应用服务器和浏览器厂家都已经实现了这些内容,可以根据请求响应的不同结果返回不同的状态码,浏览器接收到这些状态码后也会做出响应的动作和操作。
我们可以通过自定义的状态响应码,对系统做一下通用的提示,例如当发生某一类问题时,可以通过状态响应码,由系统底层统一给出提示。另外,ajax请求也可以自定义响应码,前端进行判断后进行不同的处理。
三、自定义状态码的实现
int myCode=601;
response.setResponseCode(myCode);
request.setAttribute("javax.servlet.error.status_code",myCode);
如果使用了spring框架,也可继承SimpleMappingExceptionResolver,调用它的
applyStatusCodeIfPossible(requset,response,code)
方法。
四、自定义状态码的应用
ajaxError(function(event,xhr,options.exc){
if(xhr.status=='601'){
dosomething();
}
});
分享到:
相关推荐
这里,`ResponseEntity`允许我们设置HTTP响应的状态码,结合`StatusCode`枚举,可以轻松地将业务状态传递给客户端。 在客户端,接收到响应后,根据状态码判断请求的成功与否,再进行后续处理。这可以通过解析响应的...
这个注解通常会包含一些元信息,如状态码、消息等,以便在处理过程中填充到返回结果中。自定义注解的实现需要定义注解类,比如: ```java @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public...
// 设置状态码 response.ContentType = "application/json"; // 设置内容类型 // 如果需要修改响应正文,可以读取原始内容,处理后再写回 string originalBody = response.Filter.ReadToEnd(); string ...
### Laravel + Dingo/Api 自定义响应的实现 在现代Web开发中,API的设计与实现变得尤为重要。Laravel作为PHP领域内最受欢迎的框架之一,以其优雅的语法、强大的功能受到广大开发者的青睐。而在构建RESTful API时,...
- `hasError(ClientHttpResponse response)`:根据响应的状态码判断是否为错误响应。 - `handleError(ClientHttpResponse response)`:处理错误响应,通常会抛出异常。 2. `DefaultResponseErrorHandler`会进一步...
Console.WriteLine("状态码: " + (int)response.StatusCode); Console.WriteLine("状态描述: " + response.StatusDescription); // 获取其他HTTP头信息 foreach (var header in response.Headers) { Console....
默认情况下,DRF的响应(Response)通常只包含数据(data),这对于某些复杂的应用场景是不够的,因为我们还需要状态码(code)和错误信息(msg)等额外信息。以下是如何在Django Rest Framework中自定义Response...
"laravel-response-hjson"可能是一个自定义扩展,旨在提供更灵活和结构化的JSON响应方式,包括自定义错误码和HTTP状态码。这个扩展可能是为了增强默认的`response()`辅助函数和`Response`类的功能,使其能更好地满足...
print('请求失败,状态码:', response.status_code) ``` 在`status-master`这个项目中,可能包含了对HTTP状态码的进一步封装,提供更加友好的API,或者包含了一些自定义的错误处理机制。这样的库可以帮助开发者更...
在Servlet和JSP开发中,自定义错误页面是一项重要的功能,它允许开发者为特定的HTTP错误状态码提供定制的响应,提升用户体验。错误页面通常用于处理像404(未找到)和500(服务器内部错误)这样的常见错误。在给定的...
总之,`laravel-json-response`涉及了Laravel中处理JSON响应的各种技巧和方法,包括基本的JSON响应创建、自定义状态码和头信息、模型和集合的转换、错误处理、嵌套资源、分页以及编码选项的设置。熟练掌握这些技能将...
否则,将内容、状态码和消息组装成响应数组,并返回JSON格式的响应。 对于错误响应的处理,同样可以创建一个通用函数。例如,`error`函数用于返回错误消息和默认状态码(200)。 ```php public function error($...
如`response.status_code = 200`,确保使用HTTP标准的状态码。 4. **data**: 响应体的数据,可以是字符串、字节流或其他可迭代对象。如`response.data = b'index'`。 5. **set_cookie()**: 方法用于设置Cookie的值...
1. **状态码处理**: 检查服务器返回的状态码,根据HTTP状态码进行错误处理,如401表示未授权,404表示资源未找到等。 2. **数据转换**: 将服务器返回的数据转换成期望的格式,比如从字符串转化为JSON对象。 3. **...
ResponseCode := IdHTTP.Response.ResponseCode; ``` 2. 读取特定报头:可以通过TIdHttpResponseInfo的Headers属性来访问报头。例如,获取Content-Type: ```delphi ContentType := IdHTTP.Response.ContentType; ``...
在 ASP.NET Core 中,默认情况下,当发生 500 或 404 错误时,只返回 http 状态码,不返回任何内容,页面一片空白。如果我们想实现不管 500 还是 404 错误都显示自己定制的友好错误页面,那该怎么办呢? 为了解决这...
Console.WriteLine($"请求失败,状态码:{response.StatusCode}"); } } } ``` 在上面的代码中,"your_access_token"是你的访问令牌,"https://api.kingdee.com/api/v1/your_api_endpoint"应替换为实际的API端点。...
4. **处理响应**:钉钉服务器接收到请求后,会返回一个状态码和可能的响应信息,根据这些信息判断消息发送是否成功。 接下来,我们将深入到Java代码实现。在项目中,我们可以创建一个名为`AlarmService`的类,它...
# 添加HTTP状态码到响应数据 if response is not None: response.data['status_code'] = response.status_code response.data['message'] = response.data.get('detail', '') # 添加message字段 return ...