`
ultrang
  • 浏览: 59191 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

如何自定义HTTP 状态响应码(response code)

阅读更多
一、什么是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();
              } 
            });
分享到:
评论

相关推荐

    Java自定义接口状态码.zip

    这里,`ResponseEntity`允许我们设置HTTP响应的状态码,结合`StatusCode`枚举,可以轻松地将业务状态传递给客户端。 在客户端,接收到响应后,根据状态码判断请求的成功与否,再进行后续处理。这可以通过解析响应的...

    springboot工程自定义response注解、自定义规范化返回数据结构

    这个注解通常会包含一些元信息,如状态码、消息等,以便在处理过程中填充到返回结果中。自定义注解的实现需要定义注解类,比如: ```java @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public...

    Aspdotnet2_0中自定义过滤器对Response内容进行处理

    // 设置状态码 response.ContentType = "application/json"; // 设置内容类型 // 如果需要修改响应正文,可以读取原始内容,处理后再写回 string originalBody = response.Filter.ReadToEnd(); string ...

    Laravel+Dingo/Api 自定义响应的实现

    ### Laravel + Dingo/Api 自定义响应的实现 在现代Web开发中,API的设计与实现变得尤为重要。Laravel作为PHP领域内最受欢迎的框架之一,以其优雅的语法、强大的功能受到广大开发者的青睐。而在构建RESTful API时,...

    精讲RestTemplate自定义请求失败异常处理.docx

    - `hasError(ClientHttpResponse response)`:根据响应的状态码判断是否为错误响应。 - `handleError(ClientHttpResponse response)`:处理错误响应,通常会抛出异常。 2. `DefaultResponseErrorHandler`会进一步...

    C#获取目标网址http头信息,比如状态码等等信息

    Console.WriteLine("状态码: " + (int)response.StatusCode); Console.WriteLine("状态描述: " + response.StatusDescription); // 获取其他HTTP头信息 foreach (var header in response.Headers) { Console....

    django rest framework 自定义返回方式

    默认情况下,DRF的响应(Response)通常只包含数据(data),这对于某些复杂的应用场景是不够的,因为我们还需要状态码(code)和错误信息(msg)等额外信息。以下是如何在Django Rest Framework中自定义Response...

    Laravel开发-laravel-response-hjson

    "laravel-response-hjson"可能是一个自定义扩展,旨在提供更灵活和结构化的JSON响应方式,包括自定义错误码和HTTP状态码。这个扩展可能是为了增强默认的`response()`辅助函数和`Response`类的功能,使其能更好地满足...

    Python-status友好的HTTP状态

    print('请求失败,状态码:', response.status_code) ``` 在`status-master`这个项目中,可能包含了对HTTP状态码的进一步封装,提供更加友好的API,或者包含了一些自定义的错误处理机制。这样的库可以帮助开发者更...

    servlet/jsp自定义错误页面

    在Servlet和JSP开发中,自定义错误页面是一项重要的功能,它允许开发者为特定的HTTP错误状态码提供定制的响应,提升用户体验。错误页面通常用于处理像404(未找到)和500(服务器内部错误)这样的常见错误。在给定的...

    Laravel开发-laravel-json-response

    总之,`laravel-json-response`涉及了Laravel中处理JSON响应的各种技巧和方法,包括基本的JSON响应创建、自定义状态码和头信息、模型和集合的转换、错误处理、嵌套资源、分页以及编码选项的设置。熟练掌握这些技能将...

    laravel http 自定义公共验证和响应的方法

    否则,将内容、状态码和消息组装成响应数组,并返回JSON格式的响应。 对于错误响应的处理,同样可以创建一个通用函数。例如,`error`函数用于返回错误消息和默认状态码(200)。 ```php public function error($...

    一分钟搞懂Flask中的Response响应

    如`response.status_code = 200`,确保使用HTTP标准的状态码。 4. **data**: 响应体的数据,可以是字符串、字节流或其他可迭代对象。如`response.data = b'index'`。 5. **set_cookie()**: 方法用于设置Cookie的值...

    uni-app 请求拦截器

    1. **状态码处理**: 检查服务器返回的状态码,根据HTTP状态码进行错误处理,如401表示未授权,404表示资源未找到等。 2. **数据转换**: 将服务器返回的数据转换成期望的格式,比如从字符串转化为JSON对象。 3. **...

    delphi操作IdHTTP报头读写

    ResponseCode := IdHTTP.Response.ResponseCode; ``` 2. 读取特定报头:可以通过TIdHttpResponseInfo的Headers属性来访问报头。例如,获取Content-Type: ```delphi ContentType := IdHTTP.Response.ContentType; ``...

    【ASP.NET编程知识】在ASP.NET Core中显示自定义的错误页面.docx

    在 ASP.NET Core 中,默认情况下,当发生 500 或 404 错误时,只返回 http 状态码,不返回任何内容,页面一片空白。如果我们想实现不管 500 还是 404 错误都显示自己定制的友好错误页面,那该怎么办呢? 为了解决这...

    访问金蝶webapi自定义代码

    Console.WriteLine($"请求失败,状态码:{response.StatusCode}"); } } } ``` 在上面的代码中,"your_access_token"是你的访问令牌,"https://api.kingdee.com/api/v1/your_api_endpoint"应替换为实际的API端点。...

    实现钉钉机器人自动发送自定义信息到钉钉群(对应源码).rar

    4. **处理响应**:钉钉服务器接收到请求后,会返回一个状态码和可能的响应信息,根据这些信息判断消息发送是否成功。 接下来,我们将深入到Java代码实现。在项目中,我们可以创建一个名为`AlarmService`的类,它...

    Django 解决开发自定义抛出异常的问题

    # 添加HTTP状态码到响应数据 if response is not None: response.data['status_code'] = response.status_code response.data['message'] = response.data.get('detail', '') # 添加message字段 return ...

Global site tag (gtag.js) - Google Analytics