如何创建一个可以接受不同子类但在SpringBoot中为每个子类调用特定javax验证的终结点?

这是我关于stackoverflow的第一个问题,请保持友善。

我有以下问题:

目前,我有两个不同的端点来为父类的两个子类创建和持久化实体。我想创建一个端点,该端点可以在请求正文中接受两个类的json表示形式,并正确调用各个验证。对于我的验证,我将javax批注与我自己编写的其他批注一起使用,并且对子类的验证存在很大差异。 因此,可以创建一个单一的端点来确定它是否获得了子类A或B的表示形式并调用正确的javax验证吗?

一个代码示例,我的类如下所示:

我的课程


public class ParentClass{


}
public class ChildClassA extends ParentClass{


    @NotBlank(...)
    @Pattern(...)
    @Size(...)
    private String propertyA;

    @NotBlank()
    @CustomValidationA
    private String propertyB;


    @Pattern(...)
    @Size(...)
    private String propertyC;
}


public class ChildClassB extends ParentClass{


    @NotBlank(...)
    @Pattern(...)
    @Size(...)
    private String propertyA;

    @NotBlank()
    @CustomValidationB
    private String propertyB;

    @NotBlank()
    @Pattern(...)
    @Size(...)
    private String propertyC;


    @NotNull()
    @CustomValidationC()
    @CustomValidationD()
    private LocalDate propertyD;
}

我的端点


@PostMapping(value = "/endpint/newChildClassA",produces = "application/json")
    public ResponseEntity<String> newChildCLassA(@Valid @RequestBody ChildClassA childClassA) throws JsonProcessingException {

//doStuff

        return ResponseEntity.created(null).body(new ObjectMapper().writeValueAsString(stuff));


    }

  @PostMapping(value = "/endpoint/newChildClassB",produces = "application/json")
    public ResponseEntity<String> newChildCLassB(@Valid @RequestBody ChildClassB childClassB) throws JsonProcessingException {

//doStuff

        return ResponseEntity.created(null).body(new ObjectMapper().writeValueAsString(stuff));


    }

iCMS 回答:如何创建一个可以接受不同子类但在SpringBoot中为每个子类调用特定javax验证的终结点?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1719543.html

大家都在问