首页 > 解决方案 > 春季启动MVC。传递空请求正文

问题描述

有一个带有 a 的 restcontroller 映射@RequestBody TypeA

TypeA正确解决,即使我将 a{}作为正文发送。我要实现的目标是在根本不发送正文时具有相同的逻辑(@RequestBody即为空)。

代码:

@PostMapping('/post')
public ResponseEntity processPost(@RequestBody(required=false) Optional<TypeA> body) {
       return service.someAction(body.orElse(new TypeA());
}

到目前为止,我看到的唯一可能的解决方案是设置required = false,将类型包装在 Optional 中,然后使用.orElseGet(...new),它有效,但看起来无效。

有没有合适的方法来做到这一点?

标签: javaspring-bootjacksonjackson-databind

解决方案


你可以试试这个

@PostMapping('/post')
    public ResponseEntity processPost(@NotNull(message = "you can add null description") @RequestBody TypeA body) {

    }


推荐阅读