你的榜样仍然是
Content-Type
从请求中
Accept
.其次,确保jobresults对象可由json封送处理程序和xml封送处理程序序列化。第三,如果您希望特定的行为是json被请求,您应该检查特定的媒体类型,而不是像
"*/*"
是的。
控制器:
@RequestMapping(value = "/batch/{progName}", method = RequestMethod.GET)
public ResponseEntity<JobResults> processTestObject(@PathVariable("progName") String progName,
@RequestHeader("Accept") MediaType accept) throws Exception {
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setContentType(MediaType.APPLICATION_XML);
if(!accept.toString().equals("*/*")) {
responseHeaders.setContentType(accept);
}
JobResults response = new JobResults("23423", "result");
return new ResponseEntity<JobResults>(response, responseHeaders, HttpStatus.OK);
}
一些响应对象,但已注释。
@XmlRootElement
public class JobResults {
String id;
String name;
public JobResults(String id, String name) {
this.id = id;
this.name = name;
}
....
}
上面的代码给了我
application/json
当要求通过时
接受
头球。