处理Java Jersey中的Dot(。)参数

时间:2012-05-08 16:32:49

标签: java rest jersey

我想按如下方式格式化我的REST界面:

myurl.com/resources/ {RESOURCEID}

我可选择让人们能够提供以下变体来指定返回格式:

myurl.com/resources.json/ {RESOURCEID}

我使用Jersey来提供我的REST服务。处理这些参数的最佳方法是什么?

是否应该使用不同的@PATH表示法创建单独的类,或者我可以使用单个类并解析该参数?是否有可以处理此问题的内置注释,类似于@PathParam或@QueryParam?

1 个答案:

答案 0 :(得分:0)

已有一种机制(如@digitaljoel已经说明的那样) - HTTP Accept标头。

Jersey对你的用例没有任何直接的支持,但有类似的东西 - 媒体类型映射功能,请参阅 http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/core/ResourceConfig.html#PROPERTY_MEDIA_TYPE_MAPPINGShttp://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/core/ResourceConfig.html#getMediaTypeMappings%28%29

不幸的是,它只处理最后有这个“param”的URL,但是使用UriConneggilter源(http://java.net/projects/jersey/sources/svn/content/trunk/jersey/jersey-server/src/main/java/com/sun/jersey/api/container/filter/UriConnegFilter.java?rev=5698)并根据您的需要对其进行修改并不是很困难。