SlideShare a Scribd company logo
1 of 24
Download to read offline
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:
SíguenosPatrocinador Gold
Dirección
Calle Velasco 13
Getafe, Madrid
Teléfono
+34 91 764 79 82
658 89 75 75
Email info@cloudappi.net
web www.cloudappi.net
Linkedin CloudAppi
Twitter @CloudAppi
Facebook CloudAppi
Meetup ApiAddicts
❏ Introducción a Spring Boot.
❏ Introducción a Spring Data Rest y HATEOAS.
❏ Demo.
❏ Introducción a Spring MVC.
❏ Demo.
Índice
● 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
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?
¿Qué más?:
● Incluye:
○ Spring Test.
○ JUnit.
○ Hamcrest.
○ Mockito.
● Tests de integración.
Introducción a Spring Boot
● Java SDK 1.6 o superior.
● Maven.
● Gradle.
● Spring Boot CLI.
Instalación:
Introducción a Spring Boot
● Java SDK 1.6 o superior.
● Maven.
● Gradle.
● Spring Boot CLI.
Instalación:
Introducción a Spring Boot
Asistente: http://start.spring.io
Introducción a Spring Boot
● 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
Introducción a Spring Data Rest y HATEOAS
● Transformación de los métodos del repositorio:
○ save() POST, PUT.
○ findOne(), findAll()... GET.
○ delete() DELETE
● 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.
● 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
● 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
DEMO
Web
Persistencia
Base de datos
● Spring Data Rest
● Dominio (@Entity)
● Spring Data JPA (@Repository)
● H2
Demo
● 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?:
● 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:
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:
DEMO
➢ 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
Ruegos y preguntas
Email:
➢ contacta@apiaddicts.org
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

More Related Content

What's hot

El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apisCloudAppi
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera apiCloudAppi
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la webArsys
 
Taller Ajax en Asp EXPOASI
Taller Ajax en Asp EXPOASITaller Ajax en Asp EXPOASI
Taller Ajax en Asp EXPOASIJuanPolanco
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
Iniciación al SEO - Curso Intensivo
Iniciación al SEO - Curso IntensivoIniciación al SEO - Curso Intensivo
Iniciación al SEO - Curso IntensivoClever Consulting
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCAngel Nuñez
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders ValenciaJavier Ruiz
 
Introducción a Mate Flex Framework
Introducción a Mate Flex FrameworkIntroducción a Mate Flex Framework
Introducción a Mate Flex Frameworkivan alvarez frias
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP Aprende PHP
 
Timerepublik
TimerepublikTimerepublik
Timerepublikbetabeers
 

What's hot (15)

El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apis
 
Define y desarrolla tu primera api
Define y desarrolla tu primera apiDefine y desarrolla tu primera api
Define y desarrolla tu primera api
 
Introduccion a Python para la web
Introduccion a Python para la webIntroduccion a Python para la web
Introduccion a Python para la web
 
Taller Ajax en Asp EXPOASI
Taller Ajax en Asp EXPOASITaller Ajax en Asp EXPOASI
Taller Ajax en Asp EXPOASI
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
Iniciación al SEO - Curso Intensivo
Iniciación al SEO - Curso IntensivoIniciación al SEO - Curso Intensivo
Iniciación al SEO - Curso Intensivo
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
Desarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVCDesarrollo Web con ASP.NET MVC
Desarrollo Web con ASP.NET MVC
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Manual Ajax con jquery
Manual Ajax con jqueryManual Ajax con jquery
Manual Ajax con jquery
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
 
Introducción a Mate Flex Framework
Introducción a Mate Flex FrameworkIntroducción a Mate Flex Framework
Introducción a Mate Flex Framework
 
Introducción a los Frameworks PHP
Introducción a los Frameworks PHP  Introducción a los Frameworks PHP
Introducción a los Frameworks PHP
 
Timerepublik
TimerepublikTimerepublik
Timerepublik
 

Viewers also liked

Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!Iván López Martín
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPDavid J. Brenes
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reesebuildacloud
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Chris Richardson
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar PresantationAbhishek Yadav
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentationBhavin Shah
 
Service discovery in a microservice architecture using consul
Service discovery in a microservice architecture using consulService discovery in a microservice architecture using consul
Service discovery in a microservice architecture using consulJos Dirksen
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudEberhard Wolff
 

Viewers also liked (16)

Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Java 1.8:Road to Functional Language
Java 1.8:Road to Functional LanguageJava 1.8:Road to Functional Language
Java 1.8:Road to Functional Language
 
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Rest api design by george reese
Rest api design by george reeseRest api design by george reese
Rest api design by george reese
 
Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)Developing and deploying applications with Spring Boot and Docker (@oakjug)
Developing and deploying applications with Spring Boot and Docker (@oakjug)
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
 
Why MVC?
Why MVC?Why MVC?
Why MVC?
 
MVC ppt presentation
MVC ppt presentationMVC ppt presentation
MVC ppt presentation
 
Service discovery in a microservice architecture using consul
Service discovery in a microservice architecture using consulService discovery in a microservice architecture using consul
Service discovery in a microservice architecture using consul
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Model View Controller (MVC)
Model View Controller (MVC)Model View Controller (MVC)
Model View Controller (MVC)
 
Mvc architecture
Mvc architectureMvc architecture
Mvc architecture
 

Similar to Desarrolla tu primera API con Spring Boot

Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con RESTAlex Puig
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxLuis775803
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP FrameworkJomicast
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)Daryl Moreno
 
API WEB SQL ITParral
API WEB SQL ITParralAPI WEB SQL ITParral
API WEB SQL ITParralFerny Cortez
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 
AWDC para desarrolladores y data scientists
AWDC para desarrolladores y data scientists AWDC para desarrolladores y data scientists
AWDC para desarrolladores y data scientists Edelweiss Kammermann
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4SolidQ
 

Similar to Desarrolla tu primera API con Spring Boot (20)

Desarrollando un API con REST
Desarrollando un API con RESTDesarrollando un API con REST
Desarrollando un API con REST
 
Charla REST API
Charla REST APICharla REST API
Charla REST API
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
 
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptxEvolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
Evolution INTech - Acceso a bases de datos con Minimal APIs de .NET 6.pptx
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP Framework
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
API REST conceptos (Rails-api)
API REST conceptos (Rails-api)API REST conceptos (Rails-api)
API REST conceptos (Rails-api)
 
Servicios web
Servicios webServicios web
Servicios web
 
Semana 7 Servicios Web REST con MongoDB final
Semana 7   Servicios Web REST con MongoDB finalSemana 7   Servicios Web REST con MongoDB final
Semana 7 Servicios Web REST con MongoDB final
 
API WEB SQL ITParral
API WEB SQL ITParralAPI WEB SQL ITParral
API WEB SQL ITParral
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
AWDC para desarrolladores y data scientists
AWDC para desarrolladores y data scientists AWDC para desarrolladores y data scientists
AWDC para desarrolladores y data scientists
 
API como SaaS
API como SaaSAPI como SaaS
API como SaaS
 
Arquitectura java web
Arquitectura java webArquitectura java web
Arquitectura java web
 
Introducción a ASP.NET Web API
Introducción a ASP.NET Web APIIntroducción a ASP.NET Web API
Introducción a ASP.NET Web API
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
Introducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLCIntroducción a REST - SymfonyVLC
Introducción a REST - SymfonyVLC
 
OpenAPI 3.0.2
OpenAPI 3.0.2OpenAPI 3.0.2
OpenAPI 3.0.2
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4Mejorando interfaz de SharePoint 2010 con Silverlight 4
Mejorando interfaz de SharePoint 2010 con Silverlight 4
 

More from CloudAppi

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuildingCloudAppi
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digitalCloudAppi
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)CloudAppi
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APICloudAppi
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apisCloudAppi
 

More from CloudAppi (7)

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuilding
 
Api managers
Api managersApi managers
Api managers
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digital
 
Big data y las apis (big data spain)
Big data y las apis (big data spain)Big data y las apis (big data spain)
Big data y las apis (big data spain)
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 

Recently uploaded

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 

Recently uploaded (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 

Desarrolla tu primera API con Spring Boot

  • 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íguenosPatrocinador Gold Dirección Calle Velasco 13 Getafe, Madrid Teléfono +34 91 764 79 82 658 89 75 75 Email info@cloudappi.net web www.cloudappi.net Linkedin CloudAppi Twitter @CloudAppi Facebook CloudAppi Meetup ApiAddicts
  • 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
  • 15. DEMO
  • 16. Web Persistencia Base de datos ● Spring Data Rest ● Dominio (@Entity) ● Spring Data JPA (@Repository) ● H2 Demo
  • 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:
  • 20. DEMO
  • 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
  • 23.
  • 24. Email: ➢ contacta@apiaddicts.org 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