0% encontró este documento útil (0 votos)
24 vistas18 páginas

Unidad 2 - API Rest

Cargado por

will M.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
24 vistas18 páginas

Unidad 2 - API Rest

Cargado por

will M.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Capacitación Spring

Besysoft

VARIOS PARÁMETROS
Besysoft
Parámetros
Dentro de un solo método expuesto por
nuestra API podemos recibir la cantidad de
parámetros que necesitemos

Vamos a crear una calculador simple, que va a


recibir dos valores y realizar las cuatro
operaciones básicas, sumar, restar, multiplicar
y dividir. Tomemos como ejemplo la suma:

Como ilustra la imagen, a la anotación


@GetMapping podemos agregar tantos parámetros
como lo necesitemos, separando cada uno con “/”.

Múltiples parámetros.
Besysoft
@PathVariable
Nos da la posibilidad de extraer información
que es parte de la estructura de la URI pero
que no se trata como el típico par
“nombre=valor”.

En la practica, se puede usar de la manera vista y produciendo


el mismo resultado que la anotación @RequestParam.
Muchas veces se combinan ambas

Múltiples parámetros.
Por ejemplo
Besysoft

[Link]

@RequestParam
❖ Esta otra anotación nos permite recibir
parámetros desde un ruta mediante el
método GET, para trabajar con ellos
incluso poder emitir una respuesta que
dependa de los parámetros que sean
obtenidos

❖ Cada uno de los parámetros generalmente


se ubican en la URL después del signo de
pregunta “?” y están anidados por “&”

❖ Son enviados a través del par clave-valor o


nombre-valor
Múltiples parámetros.
Besysoft

CRUD
Besysoft
CRUD
La mayoría de las APIs, tienen asociadas las
cuatro operaciones y/o acciones que
representan el acrónimo CRUD:

➢ Create CRUD en HTTP


➢ Read
Los métodos que mas utilizaremos en Spring vía
➢ Update HTTP son:
➢ Delete
➢ POST: utilizado para crear un nuevo
registro.
➢ GET: utilizado para consultar información al
servidor.
➢ PUT: utilizado para actualizar por completo
un registro existente.
Operaciones CRUD. ➢ DELETE: utilizado para eliminar registro
existente.
Besysoft
En que ocasiones utilizar POST:

➢ Utilizando la anotación @PostMapping


generamos un endpoint sobre el método
HTTP POST.

➢ Nos permite poder ingresar parámetros


utilizando el HTTP BODY en formato JSON.

➢ Se utiliza @RequestBody para informar que


el argumento del método se va a asociar con
el HTTP BODY.

POST.
Besysoft
@ReqestBody
Utilizando dicha anotación, lo que logramos es
mapear el json y nos sirve para deserializar el
objeto competo a partir del cuerpo de la petición

Si contamos con la siguiente clase:


Y contamos con el siguiente método.

Spring en este caso nos inyectara en la variable user un objeto


de la clase User con sus atributos que están informados con lo
que venga en el cuerpo de esta petición.

POST.
Besysoft
Payload en el uso del POST

Como parte de una solicitud POST, se pueden


enviar una carga útil (o payload) de datos al
servidor en el cuerpo de la petición.

El contenido del cuerpo puede ser cualquier


objeto JSON valido, como por ejemplo el
siguiente:
{
"nombre" : "Juan Jose",
"apellido" : "Rodriguez",
"usuario" : "jjrodriguez",
"email" : "jjrodriguez@[Link]"
}

POST.
Besysoft

Uso de PUT

Es similar al uso del POST, con la diferencia


que podemos indicar por URL que registro
actualizar haciendo uso de parámetros.

Usando la anotación @PutMapping generamos


el endpoint para el método HTTP PUT.

Lo mas utilizado es @RequestBody para


informar que el argumento se va asociar al
HTTP BODY y @PathVariable como parámetro
indicando que registro actualizar.
PUT.
Besysoft

Uso de DELETE

Es utilizado para eliminar un registro existente, esto mismo se suele hacer


enviando por parámetro algún identificador del registro a eliminar.

Para establecer su endpoint se utiliza la anotación @DeleteMapping.

DELETE.
Besysoft

RESPONSE
Besysoft
Hasta el momento hemos trabajado en nuestros métodos
utilizando tipos de datos no complejos, es decir retornamos
datos del tipo Double, String y algún que otro objeto.

Spring autogenera una especie de Response para enviar dicha


información como respuesta a la petición solicitada.

Pero como podemos hacer que estas respuesta, transporten


algo mas de información enriqueciendo las mismas, como por
ejemplo informando el código de estado de la petición.

Spring nos provee de un objeto particular para poder


“personalizar” nuestras respuestas.

RESPONSE.
Besysoft

ResponseEntity
Representa la respuesta HTTP completa, código de estado
(status code), encabezados (headers) y cuerpo (body).

Como resultado, podemos usarlo para configurar


completamente nuestra respuesta HTTP.

RESPONSE.
POST (verbo)
/usuarios
➢ Usar sustantivos (no verbos). /crear-usuarios

➢ Usar plural.

➢ Responder con códigos HTTP GET (verbo)

adecuados. /equipos
/equipos/{id}
➢ JSON claros y no mas de tres /equipos/{id}/jugadores
niveles.

Buenas practicas.
Besysoft

ANNOTATIONS CHEAT
SHEET
Besysoft
Annotations vistas.

➢ @RequestParam: anotación que utiliza spring para pasar los parámetros de la URL
en los argumentos apropiados del método.

➢ @PostMapping: anotación que genera un endpoint sobre un método HTTP POST

➢ @PutMapping: anotación que genera un endpoint sobre un método HTTP PUT

➢ @DeleteMapping: anotación que genera un endpoint sobre un método HTTP


DELETE

➢ @RequestBody: anotación que se utiliza spring para parsear el HTTP BODY del
request al argumento del método.

También podría gustarte