GOOGLE ADS

понедельник, 25 апреля 2022 г.

Отказано в применении стиля, поскольку его тип MIME ("application/json") не является поддерживаемым типом MIME таблицы стилей, и включена строгая проверка MIME.

Я добавил swagger-uiв свое сервисное приложение с весенней загрузкой, и у меня возникла такая ошибка при переходе по /swagger-ui/ссылке.

Ошибка в консоли браузера, посмотрите изображение (нажмите на эту ссылку)

Моя ссылка в чванстве отсюда:

https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api

вот мой пример кода конфигурации:

@Configuration
public class WebConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new LoggerInterceptor());
}
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}

Я попытался исключить эту часть:


public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

до сих пор нет решения. Надеюсь, кто-то может помочь. Спасибо.


Решение проблемы

Помимо ответа @Lukasz, иногда, как часть заголовков ответа, может показаться, что вы возвращаете Content-Typeобъект application/jsonдля HttpServletResponseвсех запросов в вашей конфигурации безопасности spring.

Вам нужно проверить свой код и выяснить, где вы устанавливаете Content-Type в конфигурации безопасности spring.

Например, я устанавливал свой метод переопределения doFilterInternalкласса OncePerRequestFilter.

public class JwtAuthenticationFilter extends OncePerRequestFilter {
@Override
protected void doFilterInternal(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException {
res.setStatus(HttpStatus.OK.value());
//The below commented line seem to apply for all URIs.
//res.setContentType("application/json");
}
}

ВНИМАНИЕ: Вы знаете свой код лучше, чем кто-либо другой, поэтому просто знайте, что делаете.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...