注释类型 ResponseStatus


  • @Target({TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    public @interface ResponseStatus
    Marks a method or exception class with the status code() and reason() that should be returned.

    The status code is applied to the HTTP response when the handler method is invoked and overrides status information set by other means, like ResponseEntity or "redirect:".

    Warning: when using this annotation on an exception class, or when setting the reason attribute of this annotation, the HttpServletResponse.sendError method will be used.

    With HttpServletResponse.sendError, the response is considered complete and should not be written to any further. Furthermore, the Servlet container will typically write an HTML error page therefore making the use of a reason unsuitable for REST APIs. For such cases it is preferable to use a ResponseEntity as a return type and avoid the use of @ResponseStatus altogether.

    Note that a controller class may also be annotated with @ResponseStatus and is then inherited by all @RequestMapping methods.

    从以下版本开始:
    3.0
    作者:
    Arjen Poutsma, Sam Brannen
    另请参阅:
    ResponseStatusExceptionResolver, HttpServletResponse.sendError(int, String)