1
resposta

Alterar URL

Como configuro o meu swagger para usar outra URL, por exemplo. Utilizar o https ao invés do http. Publiquei o meu projeto e o link é https, mas o swagger dispara a requisição via http. Está dando erro de CORS e acho que pode ser esse o motivo, pois se tento enviar uma requisição get diretamente pelo navegador com o link do publicado funciona.

1 resposta

Olá, Michael

Para configurar o Swagger para usar o HTTPS, você pode configurar o protocolo no arquivo de propriedades do Spring Boot. No arquivo application.properties (ou application.yml, dependendo do que você estiver usando), você pode adicionar a seguinte configuração:

springdoc.swagger-ui.url=/v3/api-docs.yaml
springdoc.swagger-ui.protocol=https

A primeira linha é para definir a URL do Swagger UI para apontar para o arquivo YAML da API. A segunda linha é para definir o protocolo para HTTPS.

Entretanto, vale lembrar que para o Swagger utilizar o protocolo HTTPS, seu servidor também precisa estar configurado para aceitar conexões HTTPS. Caso contrário, você pode encontrar erros ao tentar acessar a documentação da API.

Quanto ao problema de CORS, pode ser que a configuração do CORS no seu servidor esteja bloqueando as requisições do Swagger. Você pode tentar adicionar a seguinte configuração no seu arquivo SecurityConfigurations.java:

@Bean
public CorsFilter corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("*");
    config.addAllowedHeader("*");
    config.addAllowedMethod("*");
    source.registerCorsConfiguration("/**", config);
    return new CorsFilter(source);
}

Esta configuração permite que qualquer origem, cabeçalho e método HTTP sejam aceitos. Isso pode resolver o problema do CORS, mas é importante lembrar que essa configuração é bastante permissiva e pode não ser adequada para um ambiente de produção.

Espero ter ajudado e bons estudos!