@RequestMapping(...)
public Foo getFoo(@HeaderParam("header") final String header) {
...
}
Run Code Online (Sandbox Code Playgroud)
添加一个@HeaderParam方法参数如上所述springfox选择它,当我看到swagger-ui时它有一个标题字段.这正是我想要的.有没有办法告诉springfox在一组方法中包含这个头参数而不必在方法本身上包含参数?我们真正要做的是使用标头的servlet过滤器,我们希望通过swagger-ui轻松设置它.
我通过在我的代码中添加以下类,向现有的springboot REST API添加了一个简单的swagger UI:
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.paths(PathSelectors.regex("/v1.*"))
.build()
.pathMapping("/")
.apiInfo(metadata());
}
private ApiInfo metadata() {
return new ApiInfoBuilder()
.title("My awesome API")
.description("Some description")
.version("1.0")
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是API应该是公开的,但是swagger文档不应该是公开的.我想要一种请求对swagger文档进行身份验证的方法,任何人都知道实现这一目的的任何简单方法吗?
我试图谷歌它,但我只能找到OAth的东西,但这是端点的身份验证而不是昂首阔步的文档......