Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Spring sesion para principiantes en Java, Apuntes de Programación Java

Clase de spring framwork para principiantes

Tipo: Apuntes

2019/2020

Subido el 22/08/2020

jorge-reyes-18
jorge-reyes-18 🇵🇪

1 documento

1 / 25

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Av. Arenales 395 Oficina 403 405 / 43376948 3327162 / info@cjavaperu.com CJava, siempre para apoyarte.
Edwin maravi
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19

Vista previa parcial del texto

¡Descarga Spring sesion para principiantes en Java y más Apuntes en PDF de Programación Java solo en Docsity!

Edwin maravi

[email protected]

Integración de capas de

modelo de negocio con

otras capas

Spring Rest

  • REST rápidamente ha llegado a ser un estándar de facto para construir servicios web porque son más fácil de construir y más fácil de consumir.
  • Martin Fowler dijo: La noción de que la web es una prueba de existencia de un sistema distribuido masivamente escalable que trabaja realmente bien y puede tomar ideas de eso para construir sistemas integrados más fácilmente.
  • Cliente y servidor, existe un proveedor de servicio y un consumidor de servicio.
  • La interfaz (URL) es uniforme y expone recursos.
  • El servicio es stateless.
  • Utiliza el protocolo HTTP, por lo cual la comunicación es más rápida.
  • REST es independiente de la plataforma.
  • Se puede aplicar seguridad de aplicación para controlar los servicios.

Principales Características

Anotaciones

  • @RestController
  • @RequestMapping
  • @PathVariable
  • @GetMapping, @PostMapping, @DeleteMapping, @PutMapping
  • @RequestParam
  • @RequestBody

Estructura de GET

@GetMapping(name="/getAllStudent", produces = MediaType. APPLICATION_JSON_UTF8_VALUE) private List getAllStudent(){ return studentService.findAllStudents(); }

Estructura de PUT

@PutMapping(name="/updateStudent", produces = MediaType. APPLICATION_JSON_UTF8_VALUE) private StudentMessageResponse getAllStudent(@RequestBody Student student){ StudentMessageResponse studentMessageResponse = new StudentMessageResponse(); try{ studentService.updateStudent(student); studentMessageResponse.setIdCode(1); studentMessageResponse.setMessage("The student was updated successfully"); } catch(Exception ex){ studentMessageResponse.setIdCode(-1); studentMessageResponse.setMessage("There was an error"); studentMessageResponse.setError(ex.getMessage()); } return studentMessageResponse }

Estructura de DELETE

@DeleteMapping(name="/deleteStudent/{idStudent}", produces = MediaType. APPLICATION_JSON_UTF8_VALUE) private StudentMessageResponse deleteStudent(@PathVariable Long idStudent){ StudentMessageResponse studentMessageResponse = new StudentMessageResponse(); try{ studentService.deleteStudentById(idStudent); studentMessageResponse.setIdCode(1); studentMessageResponse.setMessage("The student was removed successfully"); } catch(Exception ex){ studentMessageResponse.setIdCode(-1); studentMessageResponse.setMessage("There was an error"); studentMessageResponse.setError(ex.getMessage()); } return studentMessageResponse; }

Desarrollo incremental de la capa de servicios y su exposición como servicios REST

Spring Hateoas

Spring Hateoas

  • Provee algunas APIs para fácil crear representaciones REST que siguen los principios HATEOAS cuando trabajas con Spring y especialmente con Spring MVC.
  • El principio de HATEOAS implica que el API debería guiar al cliente a través de la aplicación para retornar la información relevante acerca los siguiente pasos junto con cada respuesta.
  • Clases modelo para enlaces, modelos de representación de recursos.
  • Link Builder API para crear enlaces que apuntan a los métodos de controlador MVC.
  • Soporte para formatos hipermedia como HAL.
  • Crea metadata y asociado a la representación del recurso.

Principales Características

  • El punto de inicio para el modelo es usar HTTP como sistema de transporte para interacciones remotas, pero sin usar ninguno de los mecanismos de la web.
  • Se usa HTTP como un mecanismo de túnel para su propio mecanismo de interacción remota, basada sobre invocación de procedimiento remoto.
  • Se usará solo un punto de entrada (URI) y un solo tipo de método (GET, POST)

Nivel 0 Intercambio

  • Cuando tu API puede distinguir entre diferentes recursos, podría ser nivel 1.
  • Este nivel usa múltiples URI, donde cada URI es un punto de entrada para un recurso específico.
  • Usar un solo método para generar varias URIs. Ejemplos: http://ejemplo.com/student/ http://ejemplo.com/student/

Nivel 1 Recursos