1. Rafael Goterris Perales
CTO de CloudAppi
Desarrolla tu
primera Api
con Spring Boot
16.000
visualizacion
es
1000
api addicts
Madrid / Valencia
Barcelona
24
meetups
9K
3K
2K
Síguenos en @apiaddicts Patrocinador:
3. ❏ Introducción a Spring Boot.
❏ Introducción a Spring Data Rest y HATEOAS.
❏ Demo.
❏ Introducción a Spring MVC.
❏ Demo.
Índice
4. ● Creación rápida de aplicaciones Spring.
● Convención sobre configuración (CoC).
● Aplicación autónoma (stand alone).
¿Qué nos ofrece?:
Introducción a Spring Boot
5. Introducción a Spring Boot
● Características no funcionales.
○ Servidores embebidos.
○ Métricas.
○ Comprobación del estado de la aplicación.
○ Externalización de la configuración.
○ ...
● No genera código.
● Configuración sin XML y externalizada.
● Soporta Java, Groovy y Kotlin.
¿Qué más?
6. ¿Qué más?:
● Incluye:
○ Spring Test.
○ JUnit.
○ Hamcrest.
○ Mockito.
● Tests de integración.
Introducción a Spring Boot
7. ● Java SDK 1.6 o superior.
● Maven.
● Gradle.
● Spring Boot CLI.
Instalación:
Introducción a Spring Boot
8. ● Java SDK 1.6 o superior.
● Maven.
● Gradle.
● Spring Boot CLI.
Instalación:
Introducción a Spring Boot
10. ● Publica métodos de nuestra capa de persistencia
como recursos REST.
¿Qué hace?:
Introducción a Spring Data Rest y HATEOAS
SPRING DATA
SPRING DATA REST
SQL NoSQL
CrudRepository
PagingAndSorting
Repository
SPRING MVC
11. Introducción a Spring Data Rest y HATEOAS
● Transformación de los métodos del repositorio:
○ save() POST, PUT.
○ findOne(), findAll()... GET.
○ delete() DELETE
12. ● Están basados en el principio HATEOAS.
○ Hypermedia as the Engine of Application State
Los recursos que publica:
Introducción a Spring Data Rest y HATEOAS
A partir de un punto de entrada es posible acceder a todos los recursos de nuestra
API sin necesidad de ninguna documentación.
13. ● Utilizando Hypermedia para descubrir los
recursos de nuestra API.
○ Nuestra API es RESTFul según el modelo Richardson
Maturity Model
¿Cómo?:
Introducción a Spring Data Rest y HATEOAS
14. ● Pero HATEOAS es sólo un principio.
● Spring Data Rest emplea HAL (Hypertext Application
Language):
○ Es una convención.
○ Define el formato de los datos de entrada / salida.
■ Content Type / Accept: application/hal+json
○ Define la forma de mostrar las relaciones de los recursos
mediante vínculos o links.
○ http://stateless.co/hal_specification.html
Introducción a Spring Data Rest y HATEOAS
17. ● Framework que implementa el patrón Front
Controller.
Introducción a Spring MVC
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html
¿Qué es?:
18. ● Todas las peticiones pasan a través del Front
Controller (es un Servlet).
1. El Front Controller delega la petición a una clase Controller donde
se ejecuta la lógica de negocio.
2. El Controller devuelve un objeto Model con el nombre de la vista y
los datos obtenidos.
3. El Front Controller delega en un ViewResolver para averiguar la
vista.
4. El Front Controller utiliza la vista para mostrar el modelo al
usuario.
Introducción a Spring MVC
Procesado de una petición:
19. 1. El Front Controller delega la petición a una clase Controller donde se
ejecuta la lógica de negocio.
2. El Controller devuelve un objeto con los datos obtenidos.
3. Por defecto los objetos se convierten a JSON.
4. Se devuelven directamente sin pasar por la vista.
Introducción a Spring MVC
Con peticiones REST:
21. ➢ Spring Boot: http://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/
➢ Spring Data Rest: http://docs.spring.io/spring-data/rest/docs/current/reference/html/
➢ HATEOAS: https://en.wikipedia.org/wiki/HATEOAS
➢ HAL: http://stateless.co/hal_specification.html
➢ Spring MVC:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html
➢ Spring Data JPA:
http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html
➢ Richard Madurity Model: http://martinfowler.com/articles/richardsonMaturityModel.html
Enlaces de interés