[英]how can i typecast Request body into desired entity in REST API Controller
我的动机是在REST API中编写一种通用的save方法 。 用户将在Request主体中发送实体,以便根据Request Mapping String将其转换为Entity 。
为什么我要这样做,因为在我的情况下,多达50-60个实体,根据我的理解,我必须编写许多控制器。
我正在努力实现这样的目标。
@RequestMapping(value = "/{entity}", method = RequestMethod.POST)
@ResponseBody
public Object performSave(@PathVariable String entity
@RequestBody Object entity) {
switch(entity){
case "employee"
return employeeService.save((Employee)entity);
case "Boss"
return bossService.save((Boss)entity);
default:
return null;
}
但我无法做到这一点,因为Spring无法将JSON请求转换为java.lang.Object。
我有什么可能的解决方案?
如果我的问题对您没有意义,请告诉我,我将提供其他详细信息。
提前致谢。
我认为这是不可能的,因为底层的映射器将需要json解析为的具体类。 该参数只是对实际对象的引用。
需要注意的一点是,使用REST并从中获得好处时,不仅需要调用简单的url。 必须将API设计为RESTfull。 我建议您在走这条路之前,先仔细阅读一下这个概念。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.