API-REST t
Wednesday, March 6, 2024 9:34 AM
Nota, nosotros vamos a desarrollar con la profesora para aplicar en las otras identidades.
SOAP Es una versiond e APIS o una forma vieja que no se usa tanto
REST Podemos consumir una API desde el front, pero tambien podemos consumirla desde el back
• Desde terceros
• Propias, la idea es que no tengamos que excribir todo el codigo. De la misma forma en que un front consume una API.
• POSTMAN --> consumidor de APIS
Las rest, no quedan recordada, le tenemos que pasar siempre los parametros, estado representacional. Un metodo POST requiere un cuerpo. Siempre tengo que volver a mandar la
peticion, GET, con los parametros requeridos.
• SIEMPRE PASAMOS LO QUE NOSOTROS QUEREMOS PASARLE A LA PETICION
• Menos recursos del servidor
• Metodos HTTP
El protocolo de intercambio de datos es JSON, pero tambien con XML.
JSON Java script object notation.
ANOTACIONES EN EL CONTROLLER
Spring boot va a manejar todas las dependencias que nosotros vamos a manejar.
Vamos a manejar la comunicacion en formato JSON ---> lo convertimos en JAVA y viceversa.
MULTIPLES PARAMETROS CON UN METODO GET
• @GetMapping, artefacto central de nuestro servicio REST. Esto es un endpoint
• Todo lo que esta dentro de llaves hace referencia a una variable. Pueden tener el mismo nombre, ojo en el tipo de dato que a nosotros nos pide.
• @PathVariable, permite extraer informacion que es parte de la estructura de la URL que no se trata como un par nombre=valor
• @RequestParam, es una anotacion que permite recibir parametros desde una ruta mediante el metodo GET
○ Para poder trabajar con ellos
○ Dar una respuesta que dependa de los parametros que sean obtenidos.
○ Cada uno de los parametros se ubican en la URL despues de un signo de pregunta ? Y estan anidados por un &
▪ Ejemplo de una URL --> [Link]
▪ El siempre va a buscar el # que nosotros le asignemos aca abajo.
Aca abajo vemos las diferencias de las dos anotaciones que podemos usar en nuestro spring .
BACKEND Page 1
METODOS TIPO POST
• @PostMapping, se usa es para mapear solicitudes HTTP POST en metodos de controlador.
Los metodos con postmapping coinciden con una URL determinada.
○ El metodo tiene que retornar en este caso un empleado. No se le manda jamas un parametro por la URL.
○ Cualquiera cosa que genera una modificacion, no tiene parametros en la URL.
Si este metodo me va a registrar un empleado en la base de datos, la idea es que si me muestre que se registro en la base dedatos.
@RequestBody, esto es lo que nosotros queremos recibir, viaja como un JSON, tiene que haber una coincidencia a la hora de yo recibir el JSON, no tiene que ser una entidad.
PAYLOAD
Es el conjunto de datos transmitidos utiles, son todas las instrucciones que nosotros queremos mandar o cargar
Como parte de una solicitud de POST o PUT, enviamos una carga util, como clientes mandamos los datos, pero como una API recibimos la informacion en tipo JSON.
○ Tenemos que poner los atributos en cammelCase.
○ La forma en que esta construido el JSON, tiene que estar igual a mi JAVA, la famosa firma.
○ Las APIS tiene que ser documentadas!! ✅✅✅ Sin documentacion no podemos hacer nada ❌❌❌
-----------------------------------------------------------------------
@Restcontroller --> establecemos que es una clase controller, donde manejara los endpoint
@RequestMapping --> lo usamos es para indicar que apartir de esa url o todo lo que este ahi, va a eecutar los otros endpoints
@RequestBody --> lo usamos cuando nosotros tenemos un postMapping, es que enviaremos informacion que se manda desde el body, en este caso lohicimos desde PostMan, registrando un nuevo
medicamento.
@PathVariable --> lo que hace esta anotacion en el getMapping, es que cogera de la url del gep mapping el parametro que nosotros mandamos
BACKEND Page 2
BACKEND Page 3