Esta es la documentación del Servicio API REST Java (Java 11)(Spring Initializr y IntelliJ IDEA) JWT authentication Framework Spring Boot y Gradle, en el cual se crean los endpoints correspondientes a un CRUD de usuarios comunicandose con una base de datos en memoria H2.
La API CRUD de usuarios permite crear, leer, actualizar y eliminar usuarios, así como también generar tokens de autenticación.
Para realizar operaciones en la API es necesario incluir un token de autenticación en el encabezado de la solicitud HTTP. El token se puede generar llamando a la API de autenticación, enviando el correo electrónico y la contraseña del usuario. El token tiene una duración limitada y debe renovarse periódicamente.
La generación del token de autenticación se realiza mediante una solicitud POST a la siguiente URL:
/auth
Generalmente se usa http://localhost:8080/auth
** En la pestaña "Headers" debe establecerse el encabezado Content-Type y Value application/json**
Usar siguiente body
{ "username": "javainuse", "password": "password" }
La respuesta será un objeto JSON con el campo token que contiene el token de autenticación.
Para realizar operaciones en la API se debe incluir el token de autenticación en el encabezado de la solicitud HTTP con la siguiente estructura:
Authorization: Bearer {token}
Para crear un usuario se debe realizar una solicitud POST a la siguiente URL:
/api/users
El cuerpo de la solicitud debe contener un objeto JSON con los campos email, name, password y phones. El campo phones debe ser una lista de objetos JSON con el campo number.
En caso de registrar correctamente la respuesta será un objeto JSON con los campos id, created, modified y token.
Para obtener un usuario se debe realizar una solicitud GET a la siguiente URL:
/api/users/{id}
El campo {id} debe ser reemplazado por el ID del usuario que se desea obtener.
La respuesta será un objeto JSON con los campos id, created, modified y token.
Para actualizar un usuario se debe realizar una solicitud PUT a la siguiente URL:
/api/users/{id}
El campo {id} debe ser reemplazado por el ID del usuario que se desea actualizar.
El cuerpo de la solicitud debe contener un objeto JSON con los campos email, name, password y phones. El campo phones debe ser una lista de objetos JSON con el campo number.
En caso de actualizar correctamente la respuesta será un objeto JSON con los campos id, created, modified y token.
Para eliminar un usuario se debe realizar una solicitud DELETE a la siguiente URL:
/api/users/{id}
El campo {id} debe ser reemplazado por el ID del usuario que se desea eliminar.
La respuesta será un objeto JSON con el campo message indicando que el usuario fue eliminado correctamente.