我有一条路线,看起来像这样:
/foobar/123/2
我想使用所有三个参数来获取单个对象,以便我可以使用这样的东西:
@Path("/{type}/{id}/{version}")
public Response getEntity(Entity entity);
而不是:
@Path("/{type}/{id}/{version}")
public Response getEntity(@PathParam("type") Type type, @PathParam("id") Long entityId, @PathParam("version") Long version);
ParamConverter
看起来很有希望,但它只能处理一个String
而不是三个。还有什么我可以尝试的吗?
我相信你不走运。
来自 JSR-000339 "Java[TM] API for RESTful Web Services 2.0 Final Release for Assessment ">
支持以下类型
- 通过注册的 ParamConverterProvider 提供 ParamConverter 的类型。有关更多信息,请参阅 Javadoc 了解这些类。
- 基元类型
- 具有接受单个 String 参数的构造函数的类型。
- 具有名为 valueOf 或 fromString 的静态方法的类型,该方法具有返回该类型的实例的单个 String 参数。如果这两个方法都存在,则必须使用 valueOf 除非类型是枚举,在这种情况下必须使用 fromString U。
- 列出、设置或排序集,其中 T 满足上述 3 或 4