Olá Rodrigo e demais,
Como podem ver na figura abaixo, ao implementar o OpenAPI o símbolo "Type" não está compilando o que impede a inicialização da aplicação.
Olá Rodrigo e demais,
Como podem ver na figura abaixo, ao implementar o OpenAPI o símbolo "Type" não está compilando o que impede a inicialização da aplicação.
Oi!
Cuidado com os imports. Código completo:
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SpringDocConfigurations {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")))
.info(new Info()
.title("Voll.med API")
.description("API Rest da aplicação Voll.med, contendo as funcionalidades de CRUD de médicos e de pacientes, além de agendamento e cancelamento de consultas")
.contact(new Contact()
.name("Time Backend")
.email("backend@voll.med"))
.license(new License()
.name("Apache 2.0")
.url("http://voll.med/api/licenca")));
}
}
Agora não compila: ".info(new Info()"
Qual versão do SpringDoc no teu projeto?
2.7.0
Mudei para 2.6.0 e não surtiu efeito
Funciona também nessa versão. Manda o código completo da sua classe, incluindo os imports.
package med.voll.api.infra.springdoc;
import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@Configuration
public class SpringDocConfiguration {
@Primary // Coloquei essa anotação por sugestão do log e deu certo
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
.info(new Info()
.title("Voll.med API")
.description("API Rest da aplicação Voll.med, contendo as funcionalidades de CRUD de médicos e de pacientes, além de agendamento e cancelamento de consultas")
.contact(new Contact()
.name("Time Backend")
.email("backend@voll.med"))
.license(new License()
.name("Apache 2.0")
.url("http://voll.med/api/licenca")));
}
}
Nessa sua linha:
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
Tem um ponto e vírgula no final, que não deveria ter e por isso dá erro na linha seguinte do .info
É isso mesmo. Obrigado professor.