2013-10-09 90 views
-1

我已经为我的ReST服务中支持的媒体类型(xml/json)添加了版本控制。传入请求的Accept头应该有一个媒体类型和有效版本,以获得指定格式的正确响应。问题是,如果请求包含有效的数据格式在接受头,但无效版本(或没有指定版本)我必须给出特定数据格式的错误响应。ReST的Accept头中的媒体类型版本

例如,让有效的媒体类型是应用/ XML + V2应用/ JSON + V2。如果请求报头仅包含应用/ XML应用/ XML + V1我不得不放弃在XML错误响应,并且如果首部包含应用/ JSON + V1我不得不放弃在JSON错误响应

回答

0

如果出现错误(不支持)的媒体类型,您是否需要提供自定义错误信息?使用正确的HTTP错误代码是不是足够了:415 Unsupported Media Type并使响应体为空?

如果媒体类型不包含版本,我会假设客户端请求最新的可用版本。

+0

我必须提供自定义错误响应。目前,我在rest-servlet.xml中有一个bean条目,对应于每个支持类型的转换器。这可以针对每个有效的版本化媒体类型给出。对于所有其他人,我已将一个通配符输入到其中一个转换器中。所以无论是** application/xml + v2 **还是** application/json + v2 **,都会根据转换器获得的响应。 –

相关问题