`
234390216
  • 浏览: 10237835 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
A5ee55b9-a463-3d09-9c78-0c0cf33198cd
Oracle基础
浏览量:462835
Ad26f909-6440-35a9-b4e9-9aea825bd38e
springMVC介绍
浏览量:1775904
Ce363057-ae4d-3ee1-bb46-e7b51a722a4b
Mybatis简介
浏览量:1398689
Bdeb91ad-cf8a-3fe9-942a-3710073b4000
Spring整合JMS
浏览量:395130
5cbbde67-7cd5-313c-95c2-4185389601e7
Ehcache简介
浏览量:680144
Cc1c0708-ccc2-3d20-ba47-d40e04440682
Cas简介
浏览量:531108
51592fc3-854c-34f4-9eff-cb82d993ab3a
Spring Securi...
浏览量:1184883
23e1c30e-ef8c-3702-aa3c-e83277ffca91
Spring基础知识
浏览量:468642
4af1c81c-eb9d-365f-b759-07685a32156e
Spring Aop介绍
浏览量:151478
2f926891-9e7a-3ce2-a074-3acb2aaf2584
JAXB简介
浏览量:68320
社区版块
存档分类
最新评论

SpringMVC之ResponseStatus

阅读更多

SpringMVC之ResponseStatus

ResponseStatus是由SpringMVC提供的一个注解,可以标注在异常处理方法上,也可以标注在异常类上,用来指定在SpringMVC处理请求的过程中抛出了指定的异常时将响应给客户端的状态码和错误信息。比如我们希望在抛出了IllegalArgumentException时响应给客户端的状态码是502,错误信息是Hello Error,我们就可以像如下这样,在异常处理方法上加上@ResponseStatus注解,同时指定错误码和错误信息,此时的ResponseStatus注解将在ServletInvocableHandlerMethod的initResponseStatus方法中进行处理。

@ControllerAdvice(annotations=RestController.class)
public class MyExceptionHandler {
    
    @ExceptionHandler(IllegalArgumentException.class)
    @ResponseStatus(value=HttpStatus.BAD_GATEWAY, reason="Hello Error")
    public void handleIllegalArgumentException() {
        
    }
    
}

在没有使用异常处理器方法的情况下,如果异常类的源码是我们可以自己进行控制的,也可以在异常类上加上@ResponseStatus注解指定错误码和错误信息。此时的ResponseStatus注解将由ResponseStatusExceptionResolver进行处理。

@ResponseStatus(value=HttpStatus.BAD_GATEWAY, reason="Hello Error")
public class ResponseStatusException extends RuntimeException {

    /**
     * 
     */
    private static final long serialVersionUID = 6644585920167208469L;

}

(注:本文是基于Spring4.1.0所写)

0
0
分享到:
评论

相关推荐

    SpringMVC的Restful风格Demo

    6. **状态码(Status Codes)**:使用`@ResponseStatus`注解或HttpServletResponse对象设置HTTP响应状态码,以反馈操作结果。 7. **异常处理(Exception Handling)**:使用`@ExceptionHandler`注解处理可能出现的...

    springmvc 之 RestfulCRUD实例练习工程

    return ResponseEntity.status(HttpStatus.CREATED).body(user); } ``` 在这个例子中,`@RequestBody`注解将请求体转换为User对象,`UserService`处理业务逻辑,最后使用`ResponseEntity`返回HTTP响应,包括状态码...

    springMVC jQuery ajax交互

    error: function(xhr, status, error) { console.error('Error saving user:', error); } }); ``` 在后端,SpringMVC的Controller方法会接收到这个请求,并处理数据。例如: ```java import org.spring...

    springmvc之rest风格的crud

    可以使用`@ResponseStatus`注解来设置HTTP状态码,以提供更准确的反馈信息。同时,返回的对象会自动转换为JSON或XML格式,供客户端消费。 9. **异常处理** Spring MVC允许自定义异常处理器,通过`@...

    springMVC使用Ajax请求数据

    error: function(xhr, status, error) { // 错误处理 } }); ``` 3. **后端处理**: - 在SpringMVC的`@Controller`类中,定义一个处理Ajax请求的方法。通过`@RequestMapping`注解指定URL映射,并使用`@...

    springmvc4.2中文文档

    文档会介绍如何处理处理器异常、使用@ExceptionHandler注解和@ResponseStatus注解。 20. Web安全 Spring MVC也提供与Web安全相关的支持,文档会讨论相关的安全配置和最佳实践。 21. "约定优于配置"的支持 这部分会...

    Spring MVC--6.RESTful SpringMVC CRUD

    return ResponseEntity.status(HttpStatus.CREATED).body(user); } } ``` 2. **读取(Retrieve)**:读取资源通常由`@GetMapping`注解处理。客户端通过发送GET请求获取指定资源的信息。例如,获取单个用户信息可以...

    SpringMVC框架下使用jQueryAJAX进行数据交互

    error: function(xhr, status, error) { // 处理错误 } }); ``` 4. **处理响应**:在控制器的处理方法中,你可以对请求参数进行处理,执行业务逻辑,然后通过`ModelAndView`或`@ResponseBody`返回响应数据。...

    SpringMvc 4

    SpringMvc支持异步请求,可以通过@ResponseStatus和@ResponseBody注解返回JSON或XML数据给Ajax请求。 14. **单元测试与整合测试** SpringMvc提供了MockMvc工具,允许在没有实际服务器环境的情况下进行单元测试。...

    看透SpringMVC源代码分析与实践

    SpringMVC提供了一套完整的异常处理机制,包括@ControllerAdvice、@ExceptionHandler、@ResponseStatus等注解,可以全局统一处理异常,提高代码的可维护性和用户体验。 8. **上传下载支持** 使用MultipartFile...

    SpringMVC 使用 RESTful 架构实现 CRUD 操作

    return new ResponseEntity(HttpStatus.NO_CONTENT); } } ``` 在这个例子中,`/api/users` 是资源的基本路径,`@PathVariable` 用于从 URL 中提取参数,`@RequestBody` 用于从请求体中读取数据。 **服务层...

    poi excel 读写 2007 springmvc

    return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(e.getMessage()); } } ``` 这样,我们就实现了使用Apache POI在Spring MVC中处理Excel 2007文件的功能。在实际应用中,可以进一步优化,例如添加错误...

    springmvc实现httpclient调用服务

    int statusCode = response.getStatusLine().getStatusCode(); if (statusCode == HttpStatus.SC_OK) { String responseBody = EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8); return ...

    SpringMVC入门项目

    - 使用@ResponseStatus指定HTTP状态码。 5. **视图解析**: - 视图解析器如InternalResourceViewResolver,根据逻辑视图名解析出物理视图路径。 - 可以配置前缀和后缀,如:`/WEB-INF/views/` + `viewName` + `....

    springMvc配置mongo数据库

    return new ResponseEntity(userRepository.findAll(), HttpStatus.OK); } } ``` 在这个例子中,`getUsers`方法将调用`userRepository.findAll()`获取所有用户,并返回HTTP响应。 总结来说,Spring MVC与MongoDB...

    springmvc的ajax配置,实现

    response.setStatus(200); response.setMessage("Ajax请求成功"); response.setData("这是从服务器获取的数据"); return response; } } ``` 4. **定义AjaxResponse**: 定义一个简单的Java对象,用于封装...

    SpringMVC JSON格式的读取和显示

    return new ResponseEntity(user, HttpStatus.CREATED); } ``` 2. `@ResponseBody`:这个注解用于控制器方法的返回值上,表示将方法的返回值转换为JSON并发送到HTTP响应体中。在上面的例子中,如果你想要返回创建...

    springmvc代码实例(简单说明)

    10. **@ResponseStatus**:定义HTTP状态码和原因,可以用于返回错误信息。 11. **@ExceptionHandler**:注解用于声明异常处理器,处理特定类型的异常。 12. **@PathVariable**:用于获取URI模板变量的值,常用于...

    SpringMVC加入json支持的jar

    return new ResponseEntity(HttpStatus.OK); } ``` 这里,`MyRequest`是你定义的Java类,它的属性与JSON请求体中的键对应。 **五、测试与调试** 完成上述步骤后,你就可以通过HTTP请求(如POSTMAN或浏览器的开发者...

Global site tag (gtag.js) - Google Analytics