Spring RESTful 应用程序 - POST 方法请求正文强制属性

Spring RESTful application - POST method request body mandatory attributes

我正在 Spring Boot 中构建一个 RESTful 应用程序,我想在我的 POST 方法的请求主体中强制设置一些属性。

在 swagger yaml 中,我将它们标记为必需 "true",但是当我使用 swagger 编辑器生成 classes 时,我没有看到任何影响,即我看不到甚至 @NotNull 注释或任何类似的东西。

如何在我的 java 模型 class 中将它们标记为强制性的? @NotNull 是正确的选择吗?

如果是,我应该在我的请求正文 class 中还是在 jpa 文档中 class 或两者都这样做?

谢谢!

是的,@NotNull是一条路。

但您还需要使用 @Valid 注释。

检查示例:

@RequestMapping(value = "/appointments", method = RequestMethod.POST)
    public String add(@Valid AppointmentForm form, BindingResult result) {
        ....
    }

    static class AppointmentForm {

        @NotNull
        private Date date;
    }