cami-la / sacola-api_IFOOD_DEV_WEEK

Código-Fonte do Projeto Sacola API do iFood Dev Week.
https://www.dio.me/dev-week/ifood/ifood-developer
167 stars 29 forks source link

Swagger - configuração Maven #43

Open AgnoDev opened 1 year ago

AgnoDev commented 1 year ago

Boa tarde @cami-la No meu caso eu utilizei o Maven. Vc poderia me passar a configuração swagger pra Maven?

Obrigado.

cami-la commented 1 year ago
<dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
      <version>2.1.0</version>
</dependency>

documentação: https://springdoc.org/v2/#migrating-from-springfox

AgnoDev commented 1 year ago

thanks! indo lá agora

AgnoDev commented 1 year ago

add a dependencia mas ainda pede pra criar Docket, ApiInfo, PathSelectors e DocummentationType

image

AgnoDev commented 1 year ago

vou assistir a aula de novo, deixei passar alguma coisa (kkk)

AgnoDev commented 1 year ago

meu app.yml tá assim: (tempo do vídeo = 07:11:45) mvc: pathmatch: matching-strategy: ant_path_matcher

meu pom.xml tá assim: (tempo do vídeo = 07:12:57)

org.springdoc springdoc-openapi-starter-webmvc-ui 2.1.0

minha url tá assim: (tempo do vídeo = 07:13:45) http://localhost:8081/swagger-ui/

nesse momento era pra aparecer o swagger, mas dá erro: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 10] with root cause Servlet.service() para servlet [dispatcherServlet] no contexto com o caminho [] gerou exceção [Falha no processamento da solicitação: java.lang.StringIndexOutOfBoundsException: intervalo [11, 10) fora dos limites para comprimento 10] com causa raiz

AgnoDev commented 1 year ago

outro ponto importante! no video vc cola o corpo da classe SwaggerConfig e importa as classes Docket, DocummentationType, PathSelectors, ApiInfo, ApiInfoBuilder (tempo do video = 7:18:00)

pra mim só aparece a opção criar. creio que esses métodos sejam outros no case de quem usa Maven, ou não tem nada a ver?

AgnoDev commented 1 year ago

no video aparece os seus imports como springfox.documentation (gradle):

public Docket getBean() { return new Docket(DocummentationType.SWAGGER_2).select() .paths(PathSelectors.regex("/ifood-devweek/.*")) .build() .apiInfo(getInfo()); }

private ApiInfo getInfo() {
    return new ApiInfoBuilder()
            .title("Sacola API")
            .description("API Rest - Simulação de Aplicação Delivery")
            .build();
}
AgnoDev commented 1 year ago

lembrando que essas marcações de tempo de video foi no video de 7horas disponibilizado na plataforma. https://web.dio.me/lives/ifood-dev-week

cami-la commented 1 year ago

Tenta essa outra dependência, por favor:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

Essa é a mesma que utilizo no curso, porém com o Gradle.