首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

spring mvc 三中的consumes

2013-07-11 
spring mvc 3中的consumesspring mvc 3中的consumes,其实就是当请求的HTTP 头是何种格式的时候,进行应对,

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" } }

热点排行