如何使 swagger-ui 将 JSON 中的某些字段显示为 required(使用 springfox-swagger2 & ui)

How to make swagger-ui show certain fields in JSON as required (using springfox-swagger2 & ui)

我正在使用 springfox-swagger2 和 springfox-swagger-ui 版本 2.5.0 依赖项来生成我的 JSON API 并且还使用 swagger-ui 来显示 JSON 消息。

Currently swagger ui 显示了我的 JSON 模型,其中所有字段都是可选的。如何将某些字段指定为 required。我是否需要在我的 POJO 中注释任何字段以声明它是 required。 我没有使用任何 swagger 注释并依赖 springfox 从我的 POJO 生成 JSON。

谢谢

您必须使用 @ApiModelProperty 注释的 'required' 属性

public class LoginResponse {

    @ApiModelProperty(value="User's last name", required = true)
    String firstName;

    @ApiModelProperty(value="User's first name", required = true)
    String lastName;

    public LoginResponse(String firstName, String lastName) {
        this.firstName= firstName;
        this.deviceSecret = lastName;
    }

}

另一个选项:

public ResponseEntity<XXX> getXXX(
        @RequestParam(value="id", defaultValue = "1234") @ApiParam(value="Some description of id", required = true) String id,
        @RequestParam(value="anotherField", defaultValue = "AR") @ApiParam(value="another Field", required = true) String anotherField) {

在 ApiParam 注释中使用 required=true 或 false 对我有用。