SpringBoot
Tutorial SpringBoot: Open API y cómo agregarlo en Spring Boot
Spring Boot OpenAPI: documentación de API. Aprende a documentar APIs en Spring Boot utilizando OpenAPI con ejemplos prácticos.
Introducción a OpenAPI en Spring Boot
OpenAPI, anteriormente conocido como Swagger, es una especificación para la descripción de APIs REST de manera estándar y comprensible tanto para humanos como para máquinas. La integración de OpenAPI en un proyecto Spring Boot facilita la documentación y prueba de APIs, mejorando la colaboración y la calidad del desarrollo.
Crear un Proyecto Spring Boot con Spring Web
Para comenzar, crea un nuevo proyecto Spring Boot seleccionando Spring Web como dependencia. Este será tu punto de partida para desarrollar servicios REST y documentarlos con OpenAPI.
Añadir OpenAPI al Proyecto
Para integrar OpenAPI en tu proyecto, añade la siguiente dependencia al pom.xml
. Esta dependencia habilita la documentación automática de la API utilizando OpenAPI 3.
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.3.0</version>
</dependency>
Visita springdoc.org para más información sobre la dependencia y sus configuraciones.
Crear un Controlador en Spring Boot
Desarrolla un controlador que exponga endpoints REST. Por ejemplo, un controlador simple que devuelve un String
y otro que devuelve un objeto de una clase personalizada podría lucir así:
@RestController
public class MiControlador {
@GetMapping("/texto")
public String getTexto() {
return "Ejemplo de texto";
}
@GetMapping("/objeto")
public MiObjeto getObjeto() {
return new MiObjeto("Ejemplo", 123);
}
static class MiObjeto {
private String nombre;
private int valor;
// Constructor, getters y setters
}
}
Arrancar el Proyecto y Visualizar la Documentación de la API
Una vez que tu proyecto esté corriendo, puedes acceder a la UI de Swagger para visualizar la documentación de tu API navegando a:
http://localhost:8080/swagger-ui/index.html
En esta interfaz, verás listados todos tus endpoints, modelos de datos, y podrás incluso probar las llamadas a la API directamente desde el navegador.
Diferencia entre Swagger y OpenAPI
Swagger: Se refiere al conjunto de herramientas de código abierto que se utilizan para diseñar, construir, documentar y utilizar APIs RESTful. Incluye la especificación Swagger (ahora OpenAPI), la UI de Swagger para visualizar la documentación de la API, Swagger Codegen para generar código de cliente y servidor, entre otras herramientas.
OpenAPI: Es la especificación utilizada para describir APIs RESTful. Originalmente parte de Swagger, la especificación fue donada a la Linux Foundation y renombrada como OpenAPI Specification (OAS). Define un estándar y un lenguaje neutral para describir la estructura de las APIs REST, facilitando su comprensión y utilización.
Esta lección te proporciona las bases para comenzar a trabajar con OpenAPI en proyectos Spring Boot, desde la configuración inicial hasta la documentación y prueba de tus APIs REST, aprovechando las herramientas y estándares actuales en el desarrollo de interfaces de programación de aplicaciones.
Ejercicios de esta lección Open API y cómo agregarlo en Spring Boot
Evalúa tus conocimientos de esta lección Open API y cómo agregarlo en Spring Boot con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Web y Test Starters
Entidades JPA
Repositorios reactivos
Inserción de datos
Borrar datos de base de datos
Controladores Spring MVC
Backend API REST con Spring Boot
Operadores Reactivos
Controladores Spring REST
Uso de Spring con Thymeleaf
Crear entidades JPA
Registro de usuarios
CRUD y JPA Repository
Anotaciones y mapeo en JPA
Integración con Vue
Consultas JPQL con @Query en Spring Data JPA
Open API y cómo agregarlo en Spring Boot
Uso de Controladores REST
API Specification
Inyección de dependencias
Introducción a Spring Boot
Consultas JPQL con @Query en Spring Data JPA
API Query By Example (QBE)
Inyección de dependencias
Vista en Spring MVC con Thymeleaf
Servicios en Spring
Configuración de Vue
Integración con Angular
API Query By Example (QBE)
API Specification
Controladores MVC
Métodos find en repositorios
Repositorios Spring Data
Inyección de dependencias
Data JPA y Mail Starters
Configuración de Angular
Controladores Spring REST
Configuración de Controladores MVC
Asociaciones de entidades JPA
Actualizar datos de base de datos
Identificadores y relaciones JPA
Verificar token JWT en peticiones
Login de usuarios
Integración con React
Configuración de React
Asociaciones en JPA
Consultas JPQL
Todas las lecciones de SpringBoot
Accede a todas las lecciones de SpringBoot y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Spring Boot
Introducción Y Entorno
Spring Boot Starters
Introducción Y Entorno
Inyección De Dependencias
Introducción Y Entorno
Controladores Spring Mvc
Spring Web
Vista En Spring Mvc Con Thymeleaf
Spring Web
Controladores Spring Rest
Spring Web
Open Api Y Cómo Agregarlo En Spring Boot
Spring Web
Servicios En Spring
Spring Web
Crear Entidades Jpa
Persistencia Con Spring Data
Asociaciones De Entidades Jpa
Persistencia Con Spring Data
Repositorios Spring Data
Persistencia Con Spring Data
Métodos Find En Repositorios
Persistencia Con Spring Data
Inserción De Datos
Persistencia Con Spring Data
Actualizar Datos De Base De Datos
Persistencia Con Spring Data
Borrar Datos De Base De Datos
Persistencia Con Spring Data
Consultas Jpql Con @Query En Spring Data Jpa
Persistencia Con Spring Data
Api Query By Example (Qbe)
Persistencia Con Spring Data
Repositorios Reactivos
Persistencia Con Spring Data
Api Specification
Persistencia Con Spring Data
Integración Con React
Integración Frontend
Integración Con Vue
Integración Frontend
Integración Con Angular
Integración Frontend
Registro De Usuarios
Seguridad Con Spring Security
Login De Usuarios
Seguridad Con Spring Security
Verificar Token Jwt En Peticiones
Seguridad Con Spring Security
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender la importancia de OpenAPI (anteriormente conocido como Swagger) para la documentación de APIs REST en proyectos Spring Boot, y cómo facilita la interacción y comprensión sin necesidad de acceso al código fuente.
- Aprender a crear un proyecto Spring Boot con la dependencia de Spring Web y cómo añadir manualmente la dependencia de OpenAPI en el archivo
pom.xml
. - Entender cómo desarrollar un controlador básico en Spring Boot que exponga endpoints REST, devolviendo tanto cadenas de texto simples como objetos de clases personalizadas.
- Familiarizarse con el proceso de arranque de un proyecto Spring Boot con OpenAPI integrado y cómo acceder a la documentación de la API y probar los endpoints a través de la interfaz de usuario de Swagger.
- Reconocer la diferencia entre Swagger y OpenAPI, entendiendo que Swagger se refiere al conjunto de herramientas de código abierto para trabajar con la especificación OpenAPI, la cual describe APIs RESTful de manera estándar y neutral.