插播个号外
以上文章都是纯原创,非转发,非抄袭!!!
1:自定义错误信息
可以通过@ResponseStatus
注解和自定义异常
来配合使用返回自定义响应状态码和自定义错误信息给客户端。
1.1:自定义异常类
@ResponseStatus(value = HttpStatus.FORBIDDEN, reason = "用户名和密码不匹配")
public class UsernameNotMatchPasswordException extends RuntimeException {
}
1.2:定义测试controller
@Controller
@RequestMapping("/responsestatus")
public class ResponseStatusController {
@RequestMapping("/testResponseStatusExceptionResolver")
public String testResponseStatusExceptionResolver(@RequestParam("i") int i){
System.out.println("testResponseStatusExceptionResolver come in...");
if (i==13){
throw new UsernameNotMatchPasswordException();
}
System.out.println("testResponseStatusExceptionResolver....");
return "success";
}
}
1.3:测试
2:用在方法上
2.1:代码
@Controller
@RequestMapping("/responsestatus")
public class ResponseStatusController {
@ResponseStatus(reason = "这是在方法上通过@ResponseStatus注解定义的信息", value = HttpStatus.NOT_FOUND)
@RequestMapping("/testResponseStatusExceptionResolverOnMethod")
public String testResponseStatusExceptionResolverOnMethod(@RequestParam("i") int i){
return "success";
}
}
这样配置后所有的请求都会按照@ResponseStatus(reason = "这是在方法上通过@ResponseStatus注解定义的信息", value = HttpStatus.NOT_FOUND)
的配置来返回信息。