23.
15. DEMO
20. DEMO
22. Ruegos y preguntas
9. Asistente: http://start.spring.io Introducción a Spring Boot
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?:
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
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
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
3. ❏ Introducción a Spring Boot. ❏ Introducción a Spring Data Rest y HATEOAS. ❏ Demo. ❏ Introducción a Spring MVC. ❏ Demo. Índice
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:
16. Web Persistencia Base de datos ● Spring Data Rest ● Dominio (@Entity) ● Spring Data JPA (@Repository) ● H2 Demo
6. ¿Qué más?: ● Incluye : ○ Spring Test. ○ JUnit. ○ Hamcrest. ○ Mockito. ● Tests de integració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
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:
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
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
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?
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
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:
2. Síguenos Patrocinador Gold Dirección Calle Velasco 13 Getafe, Madrid Teléfono +34 91 764 79 82 658 89 75 75 Email [email protected] web www.cloudappi.net Linkedin CloudAppi Twitter @CloudAppi Facebook CloudAppi Meetup ApiAddicts
24. Email: ➢ [email protected] Web: ➢ www.apiaddicts.org ➢ http://Apiaddicts.leadgods.com Follow us: Linkedin: ➢ https://www.linkedin.com/company/apiaddicts Twitter: @apiaddicts Facebook: ➢ https://www.facebook.com/pages/APIAddicts Meetup: ➢ http://www.meetup.com/es-ES/ApiAddicts Contact