0

我有以下简单的 Spring MVC 测试方法来使用 ResponseEntity 进行测试。

@RequestMapping(value = "/", method = RequestMethod.GET, produces= MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Map<String, String>>  home(Locale locale, Model model) {
    Map<String,String> returnMap = new HashMap<String,String>(2);
    returnMap.put("lang1", "Java");
    returnMap.put("lang2", "C++");
    ResponseEntity<Map<String, String>> respEntity = new ResponseEntity<Map<String,String>>(returnMap,  HttpStatus.OK);
    return  respEntity;
}

创建了 ResponseEntity 并且在 Eclipse 调试器中,我可以看到 ResponseEntity 对象的正文、标题和状态代码都是正确的,但是在页面中我收到以下错误:

The resource identified by this request is only capable of generating 
responses with characteristics not acceptable according to the request 
"accept" headers ().

如果有人能告诉我我做错了什么,我将不胜感激。

4

3 回答 3

0

Remove 生成​​ JSON,或者将 responsebody 注释添加到您的返回类型并更改返回类型;将 ResponseEntity 作为返回类型并将方法注释为生成 JSON 是行不通的。非此即彼。

文档

其实想一想,spring/jackson其实可能会自动把responsentity转成json。但无论哪种方式,您都需要 responsebody 来生成 json。

于 2013-04-14T18:04:29.207 回答
0

您是否尝试过使用以下 RequestMapping:

@RequestMapping(value = "/", method = RequestMethod.GET, produces = "application/json")
于 2013-04-14T18:29:31.783 回答
0

当我遇到此问题时,是因为我的mvc-config.xml文件中缺少以下内容:

<mvc:annotation-driven />
于 2014-06-30T21:41:04.600 回答