我正在编写一个需要版本控制的Restful Web服务。我想要的方法是使用标题中的媒体类型来执行此操作。
请求示例:
Accept: application/vnd.test.books.v1+xml
我的端点是
@GET
@Path("/test")
@Produces("application/vnd.test.books.v1+xml")
public Response getA(){
...
}
我还希望正则表达式匹配所有版本。所以我希望与application / vnd.test.books。* + xml的Accept标头匹配。所以在我的情况下任何版本。我尝试过类似下面的东西而没有运气。
@GET
@Path("/test")
@Produces("application/vnd.test.books*+xml")
public Response getB(){
...
}
我想要的是下线的能力具有v1的端点,然后是v2之上的任何东西我想要一个不同的终点。
答案 0 :(得分:1)
您必须明确列出方法@Produces
的所有MIME类型:
@Produces(value = {"application/vnd.test.books.v2+xml",
"application/vnd.test.books.v3+xml",
"application/vnd.test.books.v4+xml"})