繁体   English   中英

如何在REST API控制器中将请求正文键入所需的实体

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM