Spring Bootで構築されたSwagger-annotated Jersey 2.0 Webサービスの基本認証をSwagger UIに追加しようとしています。私が使用しています:Jersey 2とSpring Bootを使用した注釈駆動swagger.jsonへの認証の追加
- 春ブーツ1.5.4
- 春ブート・スターター・ジャージ
- 闊歩UI 3.0.4
- (Mavenのパッケージ)威張っ-jersey2-jaxrs 1.5.13 を
次のJerseyConfigとSwaggerアノテーションを使用して、リソースにswagger.jsonファイルを生成できます。 This article was immensely helpful in getting this far。
@Component
public class JerseyConfiguration extends ResourceConfig {
private static Log logger = LogFactory.getLog(JerseyConfiguration.class);
@Value("${spring.jersey.application-path:/}")
private String apiPath;
public JerseyConfiguration() {
registerEndpoints();
configureSwagger();
}
private void registerEndpoints() {
register(MyEndpoints.class);
// Generate Jersey WADL at /<Jersey's servlet path>/application.wadl
register(WadlResource.class);
// Lets us get to static content like swagger
property(ServletProperties.FILTER_STATIC_CONTENT_REGEX, "((/swagger/.*)|(.*\\.html))");
}
/**
* Configure the Swagger documentation for this API.
*/
private void configureSwagger() {
// Creates file at localhost:port/swagger.json
this.register(ApiListingResource.class);
this.register(SwaggerSerializers.class);
BeanConfig config = new BeanConfig();
config.setConfigId("example-jersey-app");
config.setTitle("Spring Boot + Jersey + Swagger");
config.setVersion("2");
config.setContact("Me <[email protected]>");
config.setSchemes(new String[] {"http", "https"});
config.setResourcePackage("com.example.api");
config.setBasePath(this.apiPath);
config.setPrettyPrint(true);
config.setScan(true);
}
}
基本認証を使用して、Swagger UIからこれらのサービスに接続できるようにしたいと考えています。私はそれをSpringで設定し、それを使ってサイトを認証できますが、Swagger UIからは認証できません。 残念ながら、スプリングブートexamples currently on the Swagger sample siteにはジャージーと認証が含まれておらず、ジャージーの例では私のプロジェクトでonを使用しているようなSpring Bootと@SpringBootApplication
を使用していません。
Swagger UIにBasic Authを表示するにはどうすればよいですか?
天に感謝します。 –
私はこれを探してきました。 –