JaxR使用接口作为参数

时间:2018-12-14 19:58:09

标签: java-ee jersey jax-rs

我在自己的项目中使用JavaEE8。
JaxRs中使用接口作为参数的任何方法是什么?
例如,如果我有这样的界面:

public interface Thing {
      // Without any method .
}   

和这的两个实现:

public class Car implements Thing {
    private String name ;
    private String model ;
}

public class AirPlan implements Thing {
    private String name ;
    private String model  ;
    private long age ;
}     

我想用这样的参数声明带有工厂的api:

@Path("/create")
    @POST
    @Consumes({MediaType.APPLICATION_JSON})
    public Response createThing(Thing thing) {
       // execute some operations ....
}     

如果客户发送名称,型号,年龄作为参数,则此方法创建AirPlan对象;如果客户仅发送名称,型号,参数,则此方法创建Car对象。

更新
我有关于这个问题的更新:
把东西上课。

public class Thing {
    private String type ; 
}

并从此扩展其他类。

现在:

@Path("/create")
    @POST
    @Consumes({MediaType.APPLICATION_JSON})
    public Response createThing(Thing thing) {
       // execute some operations ....
}       

如果type=="car",则创建Car;如果type=="airplan",则创建Airplan

0 个答案:

没有答案