如何将多个路径参数合并到一个对象中

时间:2017-07-12 09:11:03

标签: java rest api-design javax.ws.rs

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

/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而不是三个Intent i= new Intent(); i.putExtra("token", "your_token"); i.setAction("YOUR_ACTION"); LocalBroadcastManager.getInstance(context).sendBroadcast(i); 。还有什么我可以尝试的吗?

1 个答案:

答案 0 :(得分:0)

我相信你运气不好。

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

  

支持以下类型

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