@Consumes指定http请求的MIME类型。 缺省值为*/*,表示任何MIME类型。 注释值是数组类型,支持多种MIME类型。 可以使用MediaType指定MIME类型。
@Produces指定http响应的MIME类型。 缺省值为*/*,表示任何MIME类型。 注释值是数组类型,支持多种MIME类型。 可以使用MediaType指定MIME类型。
例如,为指定如何创建用户而消耗的所有媒体类型和响应方都是JSON。
@path ()/user ) publicclassuserRES ) /创建用户@PUT @Path )“”(consumes ) mediatype.application_Json ) pro duserres /创建用户
APP/XML
APP JSON
application/x-www-form-urlencoded
多部件/格式-数据
APP /直接流
text/plain
text/xml
text/html
以上MIME类型缺省情况下不是UTF-8。 如果发送的消息主体中包含中文,则会出现乱码问题。 解决方案是指定媒体类型的编码。
不太规范的方式
@ consumes (media type.application _ JSON ); charset=utf-8 ' ) @path(/user ) ) publicclassuserRES(/创建用户@PUT @Path ) ('') consumes ) media type.applicate }以更规范的方式为公共指定代码集定义自定义Utf8MediaType常量类。
publicstaticfinalstringapplication _ JSON=' application/JSON; charset=utf-8 ' publicstaticfinalstringapplication _ JSON=' application/XML; charset=utf-8'@path(/user ) ) publicclassuserRES(/创建用户@PUT @Path ) ) consumes ) mediatype.applicationg } 介质类型不匹配问题现象:如果指定了@ consumes (media type.application _ JSON ),但请求中使用了其他介质类型,则会出现415 Unsupported Media Type错误以前面的用户创建请求为例