jakarta-ee - JaxRs 使用接口作为参数
问题描述
我在自己的项目中使用 JavaEE 8。
有什么方法可以在 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 ....
}
create Car iftype=="car"
或 create Airplan iftype=="airplan"
解决方案
推荐阅读
- python - 我将如何切片字典中的键值
- json - VS 代码调试器无法找到 [Newtonsoft.Json.Schema.SchemaExtensions]::IsValid 的重载,即使它在 CLI 中工作也是如此
- azure - 使用 Outlook 2016 将 Azure 信息保护标签添加到 Powershell 脚本
- c# - 使用 AutoFixture 使用一组有限的字符之一填充对象属性
- javascript - 对象的 Redux 重新选择以字符串为键
- script-fu - GIMP 获取当前图像参考编号以对当前图像进行操作
- javascript - 无法在 JS forEach 中使用变量
- java - 如何从 JavaRDD 中读取 csv 格式的数据
在 Spark Java 中使用 StructType Schema - sql - SQL - ORA-00911 我插入的字符无效
- spring-boot - 哪个组合更好?带卡夫卡的弹簧靴