Introdução
A documentação é uma parte essencial do desenvolvimento de APIs, pois fornece informações claras e precisas sobre como os serviços podem ser consumidos. O OpenAPI e o Swagger são duas ferramentas populares usadas para documentar APIs. Neste artigo, você aprenderá como implementar a geração automática de OpenAPI e Swagger em uma API Java usando o Spring Boot. O Spring Boot é um framework que simplifica o desenvolvimento de aplicativos Java, incluindo APIs.
Pré-requisitos:
Antes de começarmos, certifique-se de ter o seguinte ambiente configurado:
- Java Development Kit (JDK) instalado.
 - Um ambiente de desenvolvimento integrado (IDE) Java, como Eclipse ou IntelliJ IDEA.
 - O Spring Boot configurado em seu ambiente.
 
Passo 1: Configuração do projeto Comece criando um novo projeto Spring Boot em sua IDE. Você pode fazer isso selecionando a opção “New Project” ou “New Spring Starter Project”, dependendo da sua IDE.
Passo 2: Adicionar dependências Para habilitar a geração automática de OpenAPI e Swagger em sua API, você precisará adicionar as seguintes dependências ao arquivo pom.xml do seu projeto:
<dependencies>
    <!-- ... outras dependências do Spring Boot ... -->
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-ui</artifactId>
        <version>1.5.12</version>
    </dependency>
</dependencies>
Essa dependência adicionará o suporte necessário para a geração automática do OpenAPI e o Swagger UI ao seu projeto.
Passo 3: Configurar a classe principal Em sua classe principal, você precisará adicionar algumas anotações para habilitar a geração automática do OpenAPI e Swagger. Aqui está um exemplo:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springdoc.core.GroupedOpenApi;
import org.springdoc.core.SwaggerUiConfigParameters;
import org.springdoc.core.SwaggerUiConfigParameters.SwaggerUiConfig;
@SpringBootApplication
public class YourApplication {
    public static void main(String[] args) {
        SpringApplication.run(YourApplication.class, args);
    }
    @Bean
    public GroupedOpenApi groupedOpenApi() {
        return GroupedOpenApi.builder()
                .group("api")
                .pathsToMatch("/api/**")
                .build();
    }
    @Bean
    public SwaggerUiConfigParameters swaggerUiConfigParameters() {
        return new SwaggerUiConfigParameters()
                .addSwaggerUiConfig(
                        new SwaggerUiConfig().setDeepLinking(true).setDisplayOperationId(true))
                .setValidatorUrl(null);
    }
}Nesse exemplo, a anotação @SpringBootApplication é usada para marcar a classe principal do Spring Boot. As anotações @Bean são usadas para configurar o agrupamento do OpenAPI e as configurações do Swagger UI.
Passo 4: Criar controladores da API Agora, você pode começar a criar seus controladores da API usando o Spring MVC. Aqui está um exemplo de um controlador básico:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class HelloController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}Nesse exemplo, o controlador é mapeado para o caminho “/api” e possui um método hello() que retorna uma mensagem simples.
Passo 5: Executar a API e acessar o Swagger UI Agora, você pode executar sua aplicação Spring Boot e acessar o Swagger UI. Por padrão, o Swagger UI estará disponível em http://localhost:8080/swagger-ui.html.
Ao acessar o Swagger UI, você verá a documentação gerada automaticamente para a sua API. Ele mostrará detalhes sobre os endpoints, como os caminhos, os métodos HTTP suportados e até mesmo permitirá que você faça testes interativos nos endpoints.
Conclusão
Neste artigo, você aprendeu como implementar a geração automática de OpenAPI e Swagger em uma API Java usando o Spring Boot. O Spring Boot torna esse processo muito mais simples, permitindo que você adicione algumas dependências e anotações para habilitar a documentação automática da sua API. O Swagger UI fornece uma interface amigável para visualizar e testar sua API. Com essa abordagem, você pode garantir uma documentação atualizada e consistente para seus serviços.
Lembre-se de que a documentação da API é fundamental para facilitar o uso e a integração com seus serviços. Manter a documentação sempre atualizada pode economizar tempo para você e seus colegas desenvolvedores, além de melhorar a experiência dos usuários que consomem sua API. Portanto, considere a geração automática de OpenAPI e Swagger como uma prática recomendada em seus projetos Java com Spring Boot.
