大家好,我正在尝试对 YAML 进行验证
\n- name: campo\n in: query\n schema:\n type: string\n pattern: '[S|N]' #pattern\n maxLength: 1\nRun Code Online (Sandbox Code Playgroud)\n使用 Maven Spring Boot 和 delegate。在 RestController 上,我添加了注释@Validated,并且能够验证 required=true 字段,但如果字段不是必需的,根据架构设计,参数将为Optional<String>。为此java.util.Optional,尝试测试和验证,抛出标题错误:
{\n "timestamp": "2020-10-21T07:50:18.651+0000",\n "status": 500,\n "error": "Internal Server Error",\n "message": "HV000030: No validator could be found for constraint 'javax.validation.constraints.Size' validating type 'java.util.Optional<java.lang.String>'. Check configuration for 'metodo.campo'",\n "path": "/%7BbasePath%7D/microservicio/metodo"\n}\nRun Code Online (Sandbox Code Playgroud)\n\xc2\xbf有办法解决此问题以Optional<String>正确处理此验证吗?如果可以在 YAML + 验证(@Valid 和 @Validated)上完成,我们不想在 Java 上编写所有验证代码。
编辑:验证 @Size 和其他内容是使用开放 api 版本 …