我想在 @NotEmpty 中添加 @RequestBody ,但我不想仅为请求创建额外的 POJO,我该怎么做?

我想执行以下操作,但是当我将 201 Created 放入请求正文时,它仍然返回 [] 状态代码,这意味着 @NotEmpty 实际上不起作用。

@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public void create(@Valid @NotEmpty @RequestBody Set<String> request) {
      .....
}

不希望 做这样的事情,但 @NotEmpty 在这种情况下有效:
@PostMapping
@ResponseStatus(HttpStatus.CREATED)
public void create(@Valid @NotEmpty @RequestBody SampleRequest request) {
      .....
}

SampleRequest 类
public class SampleRequest {

    @NotEmpty
    private Set<String> name;

     ..Setter and Getter
}

最佳答案

您还需要使用 @Validated ( https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/validation/annotation/Validated.html ) 注释 Controller 、方法或参数以触发验证

关于java - Spring Rest在@RequestBody中添加@NotEmpty而不创建请求POJO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44015336/

10-12 01:36