【发布时间】:2017-11-15 16:28:04
【问题描述】:
我正在尝试遵循 Springfox Swagger 的文档以使 Java Bean Validation 正常工作 (http://springfox.github.io/springfox/docs/current/#springfox-support-for-jsr-303),但它们没有显示在 Swagger UI 中。
这是我的 Spring 配置:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
@Import({springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration.class})
@Configuration
public class SwaggerConfig {
@Bean
public Docket docket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("My API")
.build();
}
}
这是我的请求映射:
@ApiOperation(value = "Use to get token for internal applications")
@PostMapping(value = AuthUris.TOKEN)
public AuthResponse token(@Valid @RequestBody AuthRequest authRequest) {
// implementation omitted
}
这是我的 POJO:
@ApiModel
public class AuthRequest {
@ApiModelProperty
@NotNull
@Size(min = 4, max = 50)
private String username;
@NotNull
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
我希望在 Swagger UI 中捕获 NotNull 和 Size 注释,但事实并非如此。请帮助我了解这应该如何工作。谢谢。
感谢https://stackoverflow.com/users/8012379/indra-basak,我确实看到他们正在工作。但是,我必须将鼠标悬停在字段上才能像@Size 一样思考。请看下面的截图。
【问题讨论】:
标签: spring-boot swagger springfox