我目前正在使用Spring Rest Web Services,我已经设置了一个@RestController,其中包含一些方法,每个方法都有一个@RequestMapping。问题是每个方法当然只能返回一种类型的对象。但是,对于每个请求,我可能想要返回一个A类实例,一个B类属性和一个包含C类对象的List。当然,我可以发出多个请求,但有没有办法可以返回多个不同的有一个请求的对象?
有关详细信息:我希望以XML格式将对象发送回移动客户端。
答案 0 :(得分:2)
您可以让方法返回Map<String,Object>
:
@RequestMapping(value = "testMap", method = RequestMethod.GET)
public Map<String,Object> getTestMap() {
Map<String,Object> map=new HashMap<>();
//put all the values in the map
return map;
}
答案 1 :(得分:0)
您可以返回 JsonNode
@RequestMapping(..)
@ResponseBody
public JsonNode myGetRequest(){
...
//rawJsonString is the raw Json that we want to proxy back to the client
return objectMapper.readTree(rawJsonString);
}
Jackson转换器知道如何将JsonNode转换为普通的Json。
或者你可以告诉Spring你的方法产生json 产生=&#34; application / json&#34;
@RequestMapping(value = "test", method = RequestMethod.GET, produces="application/json")
public @ResponseBody
String getTest() {
return "{\"a\":1, \"b\":\"foo\"}";
}