什么代表Spring MVC中ResponseEntity对象的HttpStatus?

时间:2013-01-10 18:23:00

标签: java spring http spring-mvc

从STS仪表板下载的Spring MVC Showcase示例中的

我对以下情况有疑问:

在我看来,我有以下链接:

        <li>
            <a id="responseEntityStatus" class="textLink" href="<c:url value="/response/entity/status" />">ResponseEntity (custom status)</a>           
        </li>

此链接生成对URL的HTTP请求:“/ response / entity / status”

此URL由名为 ResponseController 的@Controller类的以下方法处理(反过来使用@RequestMapping(value =“/ response”,method = RequestMethod.GET)注释)< / p>

处理previus HTTP请求的方法是:

@RequestMapping("/entity/status")
public ResponseEntity<String> responseEntityStatusCode() {
    return new ResponseEntity<String>("The String ResponseBody with custom status code (403 Forbidden)",
            HttpStatus.FORBIDDEN);
}

这个方法返回一个 ResponseEntity 对象,并且阅读文档,我知道返回一个设置的ResponseEntity对象与返回一个 @ResponseBody String 对象基本相同

所以,在我的特定情况下,我正在返回一个ResponseEntity对象(表示我的HTTP响应),我已经设置了

  1. HTTP RESPONSE正文字段,字符串具有自定义状态代码的字符串ResponseBody(403禁止)

  2. 我没有设置标题字段

  3. 我已将HTTP状态状态代码设置为HttpStatus.FORBIDDEN

  4. 现在,我已经读过这个HttpStatus是ResponseEntity类的一个字段,但我还不明白这个对象到底是什么意思...

    那么什么是HttpStatus对象?如果它被设置为FORBIDDEN是什么意思?

1 个答案:

答案 0 :(得分:2)

HttpStatus不是一个对象,它是Enum,其中包含HTTP status code的枚举。 FORBIDDEN状态代表HTTP 403 status code