【问题标题】:How to make swagger-ui show certain fields in JSON as required (using springfox-swagger2 & ui)如何让 swagger-ui 根据需要在 JSON 中显示某些字段(使用 springfox-swagger2 & ui)
【发布时间】:2017-03-07 19:03:28
【问题描述】:
我正在使用 springfox-swagger2 和 springfox-swagger-ui 版本 2.5.0 依赖项来生成我的 JSON API,并且还使用 swagger-ui 来显示 JSON 消息。
目前,swagger ui 显示我的 JSON 模型,其中所有字段都是可选的。如何指定某些必填字段。我是否需要在我的 POJO 中注释任何字段以声明它是必需的。
我没有使用任何大张旗鼓的注释,而是依靠 springfox 从我的 POJO 生成 JSON。
谢谢
【问题讨论】:
标签:
json
spring
rest
swagger
springfox
【解决方案1】:
你必须使用@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;
}
}
【解决方案2】:
另一种选择:
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 对我有用。