java - 对于其余请求,验证在 Spring boot 中不起作用

标签 java json rest spring-boot

您好,我一直在尝试通过“JSR-303”验证其余请求的数据 代码如下-:

*pojo注释级别

@NotNull(message="Carrier ID cannot be null")
    private String carrier;

*MessageStatusDoc 类

@Id
private String transactionId;

private String status;

private Key key;

private AccountDetail accountDetail;

*调用方法

saveMessage(@Valid @RequestBody MessageStatusDoc messageStatusDoc)

关键类包含载体字段

任何人都可以建议为什么我无法捕获错误..?

PS 当我尝试记录它时,该值在控制台上打印为 null ..

最佳答案

您提供的代码看起来不错。尽管您没有提供 Controller 注释。例如

@PostMapping
public void saveMessage(@Valid @RequestBody MessageStatusDoc messageStatusDoc)

但是一定要添加

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-validation</artifactId>
    </dependency>

到你的pom文件(至少对于Spring Boot >= 2.3.0)。 这将包括验证 api 以及执行实际验证工作的 hibernate validator 。

此外,如果外部包中有注释,请尽量不要混合

    <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
    </dependency>

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
    </dependency>

希望这有帮助!

关于java - 对于其余请求,验证在 Spring boot 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52217354/

相关文章:

java - Spring:不支持请求方法 'PUT'

java - Intellij Idea - Java程序在构建jar后无法正常工作

java - 跨不同jsp页面的变量

jquery - jqgrid如何将json格式的所有rowData发送到服务器?

json - 在 HTTP 响应中处理接口(interface)的最佳方式

Oracle ORDS 远程过程调用 : payload and debug

java - 客户端服务器端通信java

javascript - 如何通过 Handlebars 中的索引访问和迭代数组项?

java - 连接 JSONArrays

django - 使用 tastypie 的 REST url