spring mvc 3ä¸çconsumes,å ¶å®å°±æ¯å½è¯·æ±çHTTP 头æ¯ä½ç§æ ¼å¼çæ¶å,è¿è¡åºå¯¹,
æ¯å¦è¯·æ±ä¸ºapplication/xml,application/json,ä¸é¢ç个ä¾å:
@Controller
public class ExampleController {
@RequestMapping(value = "/test",
method = RequestMethod.POST,
consumes = "application/xml")
public ResponseEntity<String> processXml(
@RequestBody String requestBody){
return new ResponseEntity<String>(
"Handled application/xml request. Request body was: "
+ requestBody,
new HttpHeaders(),
HttpStatus.OK);
}
@RequestMapping(value = "/test",
method = RequestMethod.POST,
consumes = "application/json")
public ResponseEntity<String> processJson(
@RequestBody String requestBody){
return new ResponseEntity<String>(
"Handled application/json request. Request body was: "
+ requestBody,
new HttpHeaders(),
HttpStatus.OK);
}
}
é£ä¹å¯ä»¥ç¨curlå起两个ä¸åç请æ±,é¦å æ¯xmlç:
curl -i -X POST -H "Content-Type: application/xml" \
-d "<root><element>value</element></root>" \
ââhttp://localhost:8080/springmvc/test
ââ
åè¾åº:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 87
Date: Sat, 16 Mar 2013 16:40:15 GMT
Handled application/xml request.
Request body was:
<root><element>value</element></root>
å¦ææ¯json请æ±ç:
curl -i -X POST -H "Content-Type: application/json" \
-d '{ "root": { "element": "value" } }' \
http://localhost:8080/springmvc/test
åè¾åº:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/plain;charset=ISO-8859-1
Content-Length: 85
Date: Sat, 16 Mar 2013 16:40:42 GMT
Handled application/json request.