0

我有一条看起来像这样的路线:

/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而不是三个。还有什么我可以尝试的吗?

4

1 回答 1

0

我相信你运气不好。

来自JSR-000339 “Java[TM] API for RESTful Web Services 2.0 Final Release for evaluation”

支持以下类型

  1. 通过已注册的ParamConverterProvider可以使用 ParamConverter 的类型。有关更多信息,请参阅这些类的 Javadoc。
  2. 原始类型
  3. 具有接受单个 String 参数的构造函数的类型。
  4. 具有名为 valueOf 或 fromString 的静态方法的类型,该方法带有一个返回该类型实例的 String 参数。如果两种方法都存在,则必须使用 valueOf,除非类型是枚举,在这种情况下必须使用 fromString。
  5. List、Set 或 SortedSet,其中 T 满足上述 3 或 4
于 2017-07-12T13:03:37.673 回答