1

在 Spring MVC Showcase 示例中,可从 STS 仪表板下载

我对以下情况有些怀疑:

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

        <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) 进行注释)

处理前一个 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

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

那么什么是 HttpStatus 对象呢?如果它设置为 FORBIDDEN 意味着什么?

4

1 回答 1

2

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

于 2013-01-10T18:29:32.210 回答