将Jetty与Jersey嵌入使用。
我想知道我的一个资源是否有可能在同一路径上使用@POST
注释的2方法,但使用参数来区分要调用的方法。
例如,假设我有/api/v1/MyResource
。而MyResource类看起来像这样:
// The /api is set in my context.
@Path("/v1/MyResource")
public class MyResource {
private final MyService service;
public MyResource(MyService service){
this.service = service;
}
@POST
@PermitAll
@Consumes(MediaType.APPLICATION_JSON)
public Response doPost(MyParam param){
this.service.doStuffWith(param);
}
@POST
@PermitAll
@Consumes(MediaType.APPLICATION_JSON)
public Response doPost(MyParamOfADiffType param){
this.service.doStuffWith(param);
}
}
由于我的服务有两个doStuffWith()
函数的实现,我希望Jersey尝试将请求主体序列化为MyParam
对象,如果它不起作用,请尝试MyParamOfADiffType
个对象。然后,如果它不工作,我预计会出现500内部错误。
但我得到了一个ModelValidationException。任何人都知道我的尝试是否可行?