读书人

spring mvc 三中的consumes

发布时间: 2013-07-11 15:38:46 作者: rapoo

spring mvc 3中的consumes
spring mvc 3中的consumes,其实就是当请求的HTTP 头是何种格式的时候,进行应对,
比如请求为application/xml,application/json,下面看个例子:

@Controllerpublic 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.
Request body was:
{ "root": { "element": "value" } }

读书人网 >VC/MFC

热点推荐