1

我已经将 Spring 从 3.0.5 升级到 3.1.1 并偶然发现了一个奇怪的问题。以下代码在以前的版本中运行良好:

@RequestMapping("/getPeople")
public Object getPeople()
    {
        HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set("MyResponseHeader", "MyValue");
        return new ResponseEntity("Hello World", responseHeaders, HttpStatus.OK);
    }

但是在最新版本中,我收到了 404 错误。为了解决这个问题,我必须在方法中提到返回类型为 ResponseEntity:

@RequestMapping("/getPeople")
    public ResponseEntity getPeople()
        {
            HttpHeaders responseHeaders = new HttpHeaders(); responseHeaders.set("MyResponseHeader", "MyValue");
            return new ResponseEntity("Hello World", responseHeaders, HttpStatus.OK);
        }

这是一个可以接受的解决方法还是我在这里做错了什么?

4

1 回答 1

0

试试下面的代码。@ResponseBody 注解类似于@RequestBody。这个注解可以放在一个方法上,并表明返回类型应该直接写入 HTTP 响应体(而不是放在模型中,或者解释为视图名称)。

@RequestMapping("/getPeople")
@ResponseBody
public Object getPeople()
    {
        HttpHeaders responseHeaders = new HttpHeaders();  
        responseHeaders.set("MyResponseHeader", "MyValue");
        return new ResponseEntity("Hello World", responseHeaders, HttpStatus.OK);
    }
于 2012-09-17T15:38:38.753 回答