Я документирую API, используя swagger openApi 3.0.0. И я использую аутентификацию на предъявителя, предоставленную самим чванством. Теперь, когда токен авторизации правильный, сервер отправляет ответ, и он отображается через пользовательский интерфейс сваггера, но если токен неверен, сервер отправляет 403 запрещенную ошибку, и сваггер просто отображает «Ошибка ввода: Ошибка при загрузке». Я приложил снимки экрана с вкладками сети браузера.
ОПЦИИ с отправкой 200 ответа
получение Access-control-allow-origin: * из ВАРИАНТЫ ответа
получение ответа сервера 403 в качестве токена авторизации неверно
, но не получение контроля доступа разрешает ответ источника в фактическом ответе. .получая проблему CORS
Это мой swaggerConfig. java code
@Bean
public Docket swagger() {
return new Docket(DocumentationType.SWAGGER_12)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
/**
* @param defaultResourcesProvider
* @return swaggerResource for documenting the APIs
*/
@Primary
@Bean
public SwaggerResourcesProvider swaggerResourcesProvider(
InMemorySwaggerResourcesProvider defaultResourcesProvider) {
return () -> {
List<SwaggerResource> resources = new ArrayList<>();
Arrays.asList(<list of APIs>)
.forEach(resourceName -> resources.add(loadResource(resourceName)));
return resources;
};
}
private SwaggerResource loadResource(String resource) {
String file_name = "swagger.yaml";
SwaggerResource swaggerResource = new SwaggerResource();
swaggerResource.setName(resource);
swaggerResource.setLocation("/swagger-apis/" + resource + "/" + file_name);
return swaggerResource;
}
и в файле swagger.yaml для одного из API я использовал securityschema следующим образом:
security: - bearerAuth: []
securitySchemes: bearerAuth: тип: http схема: bearer