Spring boot 将泛型参数名称更改为json属性

Spring boot 将泛型参数名称更改为json属性,spring-boot,jackson,Spring Boot,Jackson,使用generic的包装器类在rest controller中获取两个元素以放入@Requestbody的问题是,我想更改json中每个请求的params generic类的名称,例如: 使用tableName和colName代替param1和param2 对于另一个请求,请使用taskInfo而不是param1和。。 像这样: //wrapper class @AllArgsConstructor @NoArgsConstructor @Set

使用generic的包装器类在rest controller中获取两个元素以放入
@Requestbody
的问题是,我想更改json中每个请求的params generic类的名称,例如: 使用tableName和colName代替param1和param2 对于另一个请求,请使用taskInfo而不是param1和。。 像这样:

 //wrapper class
        @AllArgsConstructor
        @NoArgsConstructor
        @Setter
        @Getter
        public class RequestInfo<T,D> {

           private T param1;

           private D param2;
        }

//usage
  @PostMapping(value = "/addProcess", produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<?> createProcess(@RequestBody RequestInfo<HseHTlvRequests,TaskInfo> requestInfo) throws CustomException {
        ResponseEntity<?> responseEntity = reqApplicantService.addProcess(requestInfo.getParam1(), requestInfo.getParam2());

        if (responseEntity.getStatusCode() == HttpStatus.OK)
            return new ResponseEntity<>(HttpStatus.CREATED);

        else
            return new ResponseEntity<>(HttpStatus.EXPECTATION_FAILED);

    }
    //in postman
    {
      "param1":"lkp_table_name",
      "param2":"lkp_col_Name"
    }
//包装器类
@AllArgsConstructor
@诺尔格构装师
@塞特
@吸气剂
公共类请求信息{
私人T参数1;
私人D参数2;
}
//用法
@PostMapping(value=“/addProcess”,products=MediaType.APPLICATION\u JSON\u value)
public ResponseEntity createProcess(@RequestBody RequestInfo RequestInfo)引发CustomException{
ResponseEntity ResponseEntity=ReqApplicationService.addProcess(requestInfo.getParam1(),requestInfo.getParam2());
if(responseEntity.getStatusCode()==HttpStatus.OK)
返回新的ResponseEntity(HttpStatus.CREATED);
其他的
返回新的响应属性(HttpStatus.EXPECTATION\u失败);
}
//邮递员
{
“参数1”:“lkp_表_名称”,
“参数2”:“lkp_col_Name”
}

我尝试使用@Jsonproperty,但这不是针对多个名称的每个请求的通用方法。为什么不同时使用两组属性param1、param2,。。。和taskifo1,taskinfo2,。。在同一个JsonClass(DTO)上。然后根据您的请求在服务级别中填充其中一个集合。对于客户端来说,您可以不做任何更改。谢谢。但是有什么方法可以在generic字段上使用json注释吗?我不知道您想要实现什么。是否希望通过使用注释使DTO的单个属性具有多个(动态名称)属性?如果不是针对多个,而是针对两个不同的名称,那么为什么不使用两个不同的属性呢?DTO不必是实体的“镜像”,因此使用一个属性并不是一个坏的做法,即在使用DTO进行“导出”和使用另一个属性进行“导入”的场景中。也许你应该把问题改写得更清楚些。