Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
{} Coding Saint .
http://codingsaint.com | http://codingsaint.in
Spring Boot - Introduction
Overview
Spring Boot
● An easy , robust ,faster way to create
production ready spring application
● It is a very opinionated approach of
Spring boot library and third party
application with a motive of starting
an application without much
configuration.
Primary Goals of Spring Boot
● A faster way for developers to create
spring application
● Out of the box opinions to provide
defaults for spring and third party
configurations.
● Providing range of non functional
features like health checks, metrics,
embedded servers, security etc
● No code generation and no
requirement of XML configuration
Requirements and Prerequisites
As an application
Java Version 8
Maven 3.2 + or Gradle 4
Servlet Container as Tomcat 8.5 /Jetty 9.4
/Undertow 1.3
While proceeding further we do expect that
you have Java version 8, Maven 3.2 or Gradle
As a developer
Knowledge of Java
Good to have prior knowledge of Spring
Framework
Bootstrapping the first Spring Boot
Project
Spring Initializr Spring Initializr
● https://start.spring.io
First Hello World !!!
Handling a URL
Url :
http://localhost:8080/greetings
http://localhost:8080/greetings
Hello ,World
First Hello World !!!
Handling a URL
Url :
http://localhost:8080/greetings
http://localhost:8080/greetings
@RestController
public class UserController {
@RequestMapping(path="greetings",
method=RequestMethod.GET)
protected String greetings() {
return "Hello, World";
}
}
Hello ,World
@SpringBootApplication
1. @SpringBootConfiguration
2. @EnableAutoConfiguration
3. @ComponentScan
@RestController
1. Denotes that the class contains request mappings.
2. Automatically serialize and deserialize java object response to Json /XML or any format
whatever is intended.
RequestMapping in Detail
@RequestMapping(path="greetings", method=RequestMethod.GET) @RequestMapping("greetings") @GetMapping("greetings")
Configuring Database
http://localhost:8080/users
List of users
query to database
Connecting to database
Creating dataSource
Just tell Spring boot app about which database to connect.
# H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2
# Datasource
spring.datasource.url=jdbc:h2:file:~/user
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
application.properties
HTTP POST
● HTTP POST request : Used to create a resource on server.
● Most of the time it’s like creating INSERT(s) at database.
● POST should be used for non-idempotent request, which changes the state of
server.
HTTP POST
● HTTP POST request : Used to create a resource on server.
● Most of the time it’s like creating INSERT(s) at database.
● POST should be used for non-idempotent request, which changes the state of
server.
HTTP POST
Model
public class User {
private Long id;
private String
firstName;
private String
lastName;
private String email;
//getters and setters
}
Controller
@RequestMapping(path={"/user"}, method=RequestMethod.POST)
public ResponseEntity<Void> add(@RequestBody User
user){
//logic
}
http://localhost:8080/user
{
"firstName":"Ray",
"lastName":"McFallen",
"email":"Ray@codingsaint.com"
}
Request Body in JSON
HTTP GET
HTTP GET request : Used to get the information already present on
server/database.
GET request doesn’t change state of server but only fetch the data.
http://localhost:8080/user/1
HTTP GET
Model
public class User {
private Long id;
private String
firstName;
private String
lastName;
private String email;
//getters and setters
}
Controller
@RequestMapping(path={"/user/{id}"}, method=RequestMethod.GET)
public ResponseEntity<User> get(@PathVariable ("id")
String id){
//logic
}
http://localhost:8080/user/1
{
"id": 1,
"firstName": "Ray",
"lastName": "McFallen",
"email": "Ray@codingsaint.com"
}
Response Body in JSON
Response as User (JSON) with id
HTTP PUT
HTTP PUT request : Used to update an existing resource on server.
PUT should be used for non-idempotent request, which changes the state of
server.
HTTP PUT
Controller
@RequestMapping(path={"/user"}, method=RequestMethod.PUT)
public ResponseEntity<Void> update(@RequestBody
User user){
//logic
}
http://localhost:8080/user
{
"id": 1,
"firstName": "Tim",
"lastName": "McFallen",
"email": "Ray@codingsaint.com"
}
Request Body in JSON
HTTP DELETE
HTTP DELETE request : Used to remove/purge an existing resource on server.
DELETE should be used for non-idempotent request, which changes the state of
server.
HTTP DELETE
Controller
@RequestMapping(path={"/user/{id}"}, method=RequestMethod.DELETE)
public ResponseEntity<Void> delete(@PathVariable ("id") String id){
//logic
}
http://localhost:8080/user/1
User Information API - Introduction
{
"id": 1,
"firstName": "Ray",
"lastName": "McFallen",
"email": "Ray@codingsaint.com"
}
public class User {
private Long id;
private String firstName;
private String lastName;
private String email;
//getters and setters
}
HTTP Status Codes
Status Code Range Description
1XX Informational
2XX Success
3XX Redirect
4XX Client error
5XX Server Error
Famous HTTP Codes
200 OK
201 Created
204 No content
301 Moved permanently
400 Bad Request
401 Unauthorized
405 Method not allowed
403 Forbidden access
415 Unsupported Media Type
500 Internal server error
Learn Spring Boot REST API and Microservices:
Spring Cloud
Join us in learning Spring Boot REST API and Microservices
● More than 7000 students
● Learn Step by step Spring Boot , Microservices and Spring Cloud
● 90 % Discount and price not more than 2 cups of coffee and 1 month money back
guarantee
● Follow the link and unveil the new learning
● Spring Boot REST API and Microservices: : Spring Cloud

More Related Content

What's hot

REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
Joshua Long
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jaran Flaath
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Pei-Tang Huang
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
Purbarun Chakrabarti
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
Jesus Perez Franco
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
Jonathan Holloway
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
Hitesh-Java
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
Jakub Kubrynski
 
Spring boot
Spring bootSpring boot
Spring boot
Bhagwat Kumar
 
Spring Core
Spring CoreSpring Core
Spring Core
Pushan Bhattacharya
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
Jeevesh Pandey
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
Jeevesh Pandey
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
Santosh Kumar Kar
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
Muthuselvam RS
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
Serhat Can
 
JPA and Hibernate
JPA and HibernateJPA and Hibernate
JPA and Hibernate
elliando dias
 
Spring boot
Spring bootSpring boot
Spring boot
sdeeg
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
Sandeep Chawla
 
Spring Boot
Spring BootSpring Boot
Spring Boot
Jiayun Zhou
 
Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutes
VMware Tanzu
 

What's hot (20)

REST APIs with Spring
REST APIs with SpringREST APIs with Spring
REST APIs with Spring
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Introduction to Spring Boot
Introduction to Spring BootIntroduction to Spring Boot
Introduction to Spring Boot
 
Spring Security 5
Spring Security 5Spring Security 5
Spring Security 5
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
 
Spring boot
Spring bootSpring boot
Spring boot
 
Spring Core
Spring CoreSpring Core
Spring Core
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Spring boot Introduction
Spring boot IntroductionSpring boot Introduction
Spring boot Introduction
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
Spring User Guide
Spring User GuideSpring User Guide
Spring User Guide
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
JPA and Hibernate
JPA and HibernateJPA and Hibernate
JPA and Hibernate
 
Spring boot
Spring bootSpring boot
Spring boot
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Spring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutesSpring Data JPA from 0-100 in 60 minutes
Spring Data JPA from 0-100 in 60 minutes
 

Similar to Spring Boot and REST API

Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
Matthew Turland
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web Services
Anuchit Chalothorn
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座
Li Yi
 
JAVA EE DEVELOPMENT (JSP and Servlets)
JAVA EE DEVELOPMENT (JSP and Servlets)JAVA EE DEVELOPMENT (JSP and Servlets)
JAVA EE DEVELOPMENT (JSP and Servlets)
Talha Ocakçı
 
03 form-data
03 form-data03 form-data
03 form-data
snopteck
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
Ivanti
 
Rest
RestRest
Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.js
Carol McDonald
 
SCWCD 2. servlet req - resp (cap3 - cap4)
SCWCD 2. servlet   req - resp (cap3 - cap4)SCWCD 2. servlet   req - resp (cap3 - cap4)
SCWCD 2. servlet req - resp (cap3 - cap4)
Francesco Ierna
 
Spring MVC 3 Restful
Spring MVC 3 RestfulSpring MVC 3 Restful
Spring MVC 3 Restful
knight1128
 
nodejs_at_a_glance.ppt
nodejs_at_a_glance.pptnodejs_at_a_glance.ppt
nodejs_at_a_glance.ppt
WalaSidhom1
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
Brandon Mueller
 
Java colombo-deep-dive-into-jax-rs
Java colombo-deep-dive-into-jax-rsJava colombo-deep-dive-into-jax-rs
Java colombo-deep-dive-into-jax-rs
Sagara Gunathunga
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
BG Java EE Course
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
SUFYAN SATTAR
 
Jsp Slides
Jsp SlidesJsp Slides
Jsp Slides
DSKUMAR G
 
RESTEasy
RESTEasyRESTEasy
May 2010 - RestEasy
May 2010 - RestEasyMay 2010 - RestEasy
May 2010 - RestEasy
JBug Italy
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
Sam Brannen
 

Similar to Spring Boot and REST API (20)

Web Scraping with PHP
Web Scraping with PHPWeb Scraping with PHP
Web Scraping with PHP
 
Android App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web ServicesAndroid App Development 06 : Network &amp; Web Services
Android App Development 06 : Network &amp; Web Services
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Switch to Backend 2023
 
RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座RESTful SOA - 中科院暑期讲座
RESTful SOA - 中科院暑期讲座
 
JAVA EE DEVELOPMENT (JSP and Servlets)
JAVA EE DEVELOPMENT (JSP and Servlets)JAVA EE DEVELOPMENT (JSP and Servlets)
JAVA EE DEVELOPMENT (JSP and Servlets)
 
03 form-data
03 form-data03 form-data
03 form-data
 
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
UEMB200: Next Generation of Endpoint Management Architecture and Discovery Se...
 
Rest
RestRest
Rest
 
Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.js
 
SCWCD 2. servlet req - resp (cap3 - cap4)
SCWCD 2. servlet   req - resp (cap3 - cap4)SCWCD 2. servlet   req - resp (cap3 - cap4)
SCWCD 2. servlet req - resp (cap3 - cap4)
 
Spring MVC 3 Restful
Spring MVC 3 RestfulSpring MVC 3 Restful
Spring MVC 3 Restful
 
nodejs_at_a_glance.ppt
nodejs_at_a_glance.pptnodejs_at_a_glance.ppt
nodejs_at_a_glance.ppt
 
Cqrs api v2
Cqrs api v2Cqrs api v2
Cqrs api v2
 
Java colombo-deep-dive-into-jax-rs
Java colombo-deep-dive-into-jax-rsJava colombo-deep-dive-into-jax-rs
Java colombo-deep-dive-into-jax-rs
 
Java Servlets
Java ServletsJava Servlets
Java Servlets
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
 
Jsp Slides
Jsp SlidesJsp Slides
Jsp Slides
 
RESTEasy
RESTEasyRESTEasy
RESTEasy
 
May 2010 - RestEasy
May 2010 - RestEasyMay 2010 - RestEasy
May 2010 - RestEasy
 
Spring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. RESTSpring Web Services: SOAP vs. REST
Spring Web Services: SOAP vs. REST
 

Recently uploaded

IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
Iwiss Tools Co.,Ltd
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
santoshpatilrao33
 
LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
pavanaroshni1977
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
rebecca841358
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
IJAEMSJORNAL
 
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdfGUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
ProexportColombia1
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
Tool and Die Tech
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
itssurajthakur06
 
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
hahehot
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
GOWSIKRAJA PALANISAMY
 
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdfOCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
Muanisa Waras
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
Md.Shohel Rana ( M.Sc in CSE Khulna University of Engineering & Technology (KUET))
 
Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)
VishalMore197390
 
Social media management system project report.pdf
Social media management system project report.pdfSocial media management system project report.pdf
Social media management system project report.pdf
Kamal Acharya
 
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceSouth Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
kolkata dolls
 
Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.
Tool and Die Tech
 
( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile
butwhat24
 
Introduction to neural network (Module 1).pptx
Introduction to neural network (Module 1).pptxIntroduction to neural network (Module 1).pptx
Introduction to neural network (Module 1).pptx
archanac21
 
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai AvailableMumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
1258strict
 
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
kinni singh$A17
 

Recently uploaded (20)

IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
 
Biology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtuBiology for computer science BBOC407 vtu
Biology for computer science BBOC407 vtu
 
LeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdfLeetCode Database problems solved using PySpark.pdf
LeetCode Database problems solved using PySpark.pdf
 
Germany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptxGermany Offshore Wind 010724 RE (1) 2 test.pptx
Germany Offshore Wind 010724 RE (1) 2 test.pptx
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
 
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdfGUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
GUIA_LEGAL_CHAPTER-9_COLOMBIAN ELECTRICITY (1).pdf
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
 
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
一比一原版(skku毕业证)韩国成均馆大学毕业证如何办理
 
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-IDUNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
UNIT I INCEPTION OF INFORMATION DESIGN 20CDE09-ID
 
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdfOCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
OCS Training - Rig Equipment Inspection - Advanced 5 Days_IADC.pdf
 
Introduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer NetworkingIntroduction to IP address concept - Computer Networking
Introduction to IP address concept - Computer Networking
 
Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)Analysis and Design of Algorithm Lab Manual (BCSL404)
Analysis and Design of Algorithm Lab Manual (BCSL404)
 
Social media management system project report.pdf
Social media management system project report.pdfSocial media management system project report.pdf
Social media management system project report.pdf
 
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile ServiceSouth Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
South Mumbai @Call @Girls Whatsapp 9930687706 With High Profile Service
 
Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.Trends in Computer Aided Design and MFG.
Trends in Computer Aided Design and MFG.
 
( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile( Call  ) Girls Noida 9873940964 High Profile
( Call  ) Girls Noida 9873940964 High Profile
 
Introduction to neural network (Module 1).pptx
Introduction to neural network (Module 1).pptxIntroduction to neural network (Module 1).pptx
Introduction to neural network (Module 1).pptx
 
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai AvailableMumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
Mumbai @Call @Girls 🛴 9930687706 🛴 Aaradhaya Best High Class Mumbai Available
 
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
( Call  ) Girls Vasant Kunj Just 9873940964 High Class Model Shneha Patil
 

Spring Boot and REST API

  • 1. {} Coding Saint . http://codingsaint.com | http://codingsaint.in
  • 2. Spring Boot - Introduction
  • 3. Overview Spring Boot ● An easy , robust ,faster way to create production ready spring application ● It is a very opinionated approach of Spring boot library and third party application with a motive of starting an application without much configuration.
  • 4. Primary Goals of Spring Boot ● A faster way for developers to create spring application ● Out of the box opinions to provide defaults for spring and third party configurations. ● Providing range of non functional features like health checks, metrics, embedded servers, security etc ● No code generation and no requirement of XML configuration
  • 5. Requirements and Prerequisites As an application Java Version 8 Maven 3.2 + or Gradle 4 Servlet Container as Tomcat 8.5 /Jetty 9.4 /Undertow 1.3 While proceeding further we do expect that you have Java version 8, Maven 3.2 or Gradle As a developer Knowledge of Java Good to have prior knowledge of Spring Framework
  • 6. Bootstrapping the first Spring Boot Project
  • 7. Spring Initializr Spring Initializr ● https://start.spring.io
  • 8. First Hello World !!! Handling a URL Url : http://localhost:8080/greetings http://localhost:8080/greetings Hello ,World
  • 9. First Hello World !!! Handling a URL Url : http://localhost:8080/greetings http://localhost:8080/greetings @RestController public class UserController { @RequestMapping(path="greetings", method=RequestMethod.GET) protected String greetings() { return "Hello, World"; } } Hello ,World
  • 11. @RestController 1. Denotes that the class contains request mappings. 2. Automatically serialize and deserialize java object response to Json /XML or any format whatever is intended.
  • 12. RequestMapping in Detail @RequestMapping(path="greetings", method=RequestMethod.GET) @RequestMapping("greetings") @GetMapping("greetings")
  • 14. Connecting to database Creating dataSource Just tell Spring boot app about which database to connect. # H2 spring.h2.console.enabled=true spring.h2.console.path=/h2 # Datasource spring.datasource.url=jdbc:h2:file:~/user spring.datasource.username=sa spring.datasource.password= spring.datasource.driver-class-name=org.h2.Driver application.properties
  • 15. HTTP POST ● HTTP POST request : Used to create a resource on server. ● Most of the time it’s like creating INSERT(s) at database. ● POST should be used for non-idempotent request, which changes the state of server.
  • 16. HTTP POST ● HTTP POST request : Used to create a resource on server. ● Most of the time it’s like creating INSERT(s) at database. ● POST should be used for non-idempotent request, which changes the state of server.
  • 17. HTTP POST Model public class User { private Long id; private String firstName; private String lastName; private String email; //getters and setters } Controller @RequestMapping(path={"/user"}, method=RequestMethod.POST) public ResponseEntity<Void> add(@RequestBody User user){ //logic } http://localhost:8080/user { "firstName":"Ray", "lastName":"McFallen", "email":"Ray@codingsaint.com" } Request Body in JSON
  • 18. HTTP GET HTTP GET request : Used to get the information already present on server/database. GET request doesn’t change state of server but only fetch the data. http://localhost:8080/user/1
  • 19. HTTP GET Model public class User { private Long id; private String firstName; private String lastName; private String email; //getters and setters } Controller @RequestMapping(path={"/user/{id}"}, method=RequestMethod.GET) public ResponseEntity<User> get(@PathVariable ("id") String id){ //logic } http://localhost:8080/user/1 { "id": 1, "firstName": "Ray", "lastName": "McFallen", "email": "Ray@codingsaint.com" } Response Body in JSON Response as User (JSON) with id
  • 20. HTTP PUT HTTP PUT request : Used to update an existing resource on server. PUT should be used for non-idempotent request, which changes the state of server.
  • 21. HTTP PUT Controller @RequestMapping(path={"/user"}, method=RequestMethod.PUT) public ResponseEntity<Void> update(@RequestBody User user){ //logic } http://localhost:8080/user { "id": 1, "firstName": "Tim", "lastName": "McFallen", "email": "Ray@codingsaint.com" } Request Body in JSON
  • 22. HTTP DELETE HTTP DELETE request : Used to remove/purge an existing resource on server. DELETE should be used for non-idempotent request, which changes the state of server.
  • 23. HTTP DELETE Controller @RequestMapping(path={"/user/{id}"}, method=RequestMethod.DELETE) public ResponseEntity<Void> delete(@PathVariable ("id") String id){ //logic } http://localhost:8080/user/1
  • 24. User Information API - Introduction { "id": 1, "firstName": "Ray", "lastName": "McFallen", "email": "Ray@codingsaint.com" } public class User { private Long id; private String firstName; private String lastName; private String email; //getters and setters }
  • 25. HTTP Status Codes Status Code Range Description 1XX Informational 2XX Success 3XX Redirect 4XX Client error 5XX Server Error
  • 26. Famous HTTP Codes 200 OK 201 Created 204 No content 301 Moved permanently 400 Bad Request 401 Unauthorized 405 Method not allowed 403 Forbidden access 415 Unsupported Media Type 500 Internal server error
  • 27. Learn Spring Boot REST API and Microservices: Spring Cloud Join us in learning Spring Boot REST API and Microservices ● More than 7000 students ● Learn Step by step Spring Boot , Microservices and Spring Cloud ● 90 % Discount and price not more than 2 cups of coffee and 1 month money back guarantee ● Follow the link and unveil the new learning ● Spring Boot REST API and Microservices: : Spring Cloud