Kotlin y Spring Boot: Creación de una API REST | de Manuel Ernesto | julio 2022
Kotlin y Spring Boot: Creación de una API Rest por Manuel Ernesto Hola a todos, en este primer artículo, como parte de la serie sobre Kotlin para el lado del servidor, mostramos cómo crear una API Rest con Kotlin y Spring Boot de manera sencilla. API REST simple para almacenar y recuperar información del jugador mysql como nuestra base de datos, con JPA e Hibernate para acceder a los datos de la base de datos. Podemos crear nuestra aplicación Spring Boot en un IDE como IntelliJ IDEA o a través del sitio web: start.spring.io. En nuestro caso, utilizaremos el sitio web start.spring.io para generar el proyecto.start.spring.io viewPegue la información sobre el proyecto, agregue el red de primavera, JPA de datos de primavera y Controlador MySQL Dependencias y haga clic en Generar, o puede clonar/descargar el proyecto inicial desde mi GitHub. Después de descargar o clonar el proyecto, abra/importe su IDE (IntelliJ IDEA en mi caso).
Contenidos
archivo pom.xml
sección de dependenciasArriba vemos las dependencias de nuestra API, estas dependencias nos permiten trabajar correctamente con las bases de datos Kotlin, Spring y MySQL.sección de construcciónEn la sección de compilación del archivo POM.xml podemos encontrar los complementos para primavera y JPAy también las dependencias para compilar, para permitir clases abiertas en Kotlin ya que, de forma predeterminada, todas las clases son definitivas y para construir argumentos en las clases de datos de Kotlin.
archivo principal
En el archivo principal vemos la clase anotada con @SpringBootApplication y el método principal para ejecutar la aplicación Spring.
Configurar la base de datos
Configuramos la base de datos para nuestra API. Para ello, agregue las siguientes configuraciones al archivo application.properties. Veamos qué significa cada línea:
- primavera.jpa.base de datos — establecer el tipo de base de datos,
- spring.datasource.url — especificando la URL de la base de datos,
- spring.fuente de datos.nombre de usuario — establecer el nombre de usuario de la base de datos,
- spring.fuente de datos.contraseña — establecer la contraseña de la base de datos,
- spring.jpa.show-sql — Habilitar/Deshabilitar (Verdadero/Falso) la consulta SQL para que se muestre en los registros,
- spring.jpa.hibernate.ddl-auto — Configure la hibernación para actualizar el esquema de la base de datos en función de los cambios en el modelo de dominio.
Utilice el nombre de usuario y la contraseña de acuerdo con su instalación de MySQL
modelo
Vamos a crear una clase de datos llamada jugadory comentar @Unidadeso significa que esta clase se asignará a nuestra tabla de base de datos @Mesa La anotación es para establecer el nombre de la tabla personalizada (por defecto, el nombre de la tabla es el mismo que en la clase) y el @IDENTIFICACIÓN el ID tiene que ser definido.
repositorio
Ahora vamos a crear nuestro repositorio JPA, primero crea una interfaz llamada PlayerRepositorycomentar con @Repositorio y extendido JpaRepositorio pasando el modelo y el tipo de datos ID.
Servicio
A continuación, creemos una clase de servicio que contenga todos los métodos para realizar la operación en la base de datos utilizando métodos del repositorio JPA:
- función obtenerTodo()— obtiene todos los registros de la base de datos,
- función getById()— obtiene un registro de la base de datos basado en la identificación o lanza una excepción si el jugador con la identificación específica no existe,
- función crear()— crea una entrada en la base de datos,
- función remove()— elimina un registro de la base de datos basado en la ID o lanza una excepción si el jugador con la ID específica no existe,
- función actualizar ()— actualiza un registro de la base de datos en función de la identificación o lanza una excepción si el jugador con la identificación específica no existe.
controlador
Finalmente, creamos el controlador REST que proporciona puntos finales para crear, editar y eliminar jugadores. Para hacer esto, necesitamos @ anotar el controladorRestController decir que esta clase puede manejar solicitudes y también comentar con @Solicitar mapeo para definir el camino. Para manejar entrantes HTTP Para solicitudes, usamos anotaciones proporcionadas por Spring, como @GetMapping, @PostMapeo, @DeleteMapping y @PutMapping.Ahora necesitamos iniciar nuestra aplicación haciendo clic en el botón Ejecutar en el IDE o usando el comando de terminal: mvn spring-boot:ejecutar
De forma predeterminada, la aplicación Spring Boot se inicia en el puerto 8080
Ahora es el momento de probar nuestra API.
POST— Crear un jugador
OBTENER — Obtener todos los jugadores
OBTENER — Obtener jugador por ID
ACTUALIZAR – actualizar reproductor
ELIMINAR — Eliminar jugador
Puede consultar el código completo en mi repositorio de GitHub aquí. ¡Gracias por leer esta publicación! Hazlo 👏🏿 si te gustó y quieres más publicaciones sobre Kotlin para el lado del servidor.