赞
踩
Content-Type 与 MediaType 存在对应关系:
服务端接口中设置,表示只接收客户端发送的指定类型的数据,否则报错
在Spring MVC 中,可以通过如下来指定 MediaType,表示该接口只接收 Content-Type 为 JSON 的数据。
@RequestMapping(value = "{bookId}", method = RequestMethod.POST, consume = MediaType.APPLICATION_JSON_VALUE)
query string -- name/value pairs are separated by the ampersand (&), and names are separated from values by the equals symbol (=)
var1=One&var2=Two
上传文件时,使用该类型,举个例子:
- // request line
- POST http://www.example.com HTTP/1.1
-
- // request header
- Content-Type:multipart/form-data; boundary=WebKitFormBoundaryrGKCBY7qhFd3TrwA
- Content-Length: $requestlen
-
- // request body
- --Boundary-----------------------
- content-disposition: form-data; name="field1"
-
- value1
- --Boundary-----------------------
- content-disposition: form-data; name="field2"
-
- value2
- --Boundary-----------------------
- Content-Disposition: form-data; name="file"; filename="chrome.png"
- Content-Type: image/png
- Content-Transfer-Encoding: binary
-
- $binarydata
- --Boundary-----------------------
- Content-Disposition: form-data; name="file1"; filename="a.txt"
- Content-Type: text/plain
-
- Content of a.txt.
- --Boundary-----------------------
- Content-Disposition: form-data; name="file2"; filename="a.html"
- Content-Type: text/html
-
- <!DOCTYPE html><title>Content of a.html.</title>
- --Boundary-----------------------
- Content-Disposition: form-data; name="file3"; filename="binary"
- Content-Type: application/octet-streamaωb
-
- $binarydata
- --Boundary--
告诉服务端消息主体是序列化后的 JSON 字符串。JSON 格式支持比键值对复杂得多的结构化数据,特别适合 RESTful 的接口。
XML-RPC(XML Remote Procedure Call),是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。典型的 XML-RPC 请求是这样的:
- POST http://www.example.com HTTP/1.1
- Content-Type: text/xml
-
- <?xml version="1.0"?>
- <methodCall>
- <methodName>examples.getStateName</methodName>
- <params>
- <param>
- <value><i4>41</i4></value>
- </param>
- </params>
- </methodCall>
XML 结构还是过于臃肿,一般场景用 JSON 会更灵活方便。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。