Kurs i Java för REST webbtjänster

Kurs i att skapa REST Web Services med Java

Webbtjänster baserade på REST principen är det moderna sättet att hantera servertjänster. I denna kurs får du lära dig både att hantera klient-sidan såväl som att designa och implementera server-sidan.
Detta får du lära dig
  • Kunna designa ett eget REST-WS API
  • Använda REST-WS command-line clients
  • Implementera Java klienter för att anropa REST-WS
  • Hantera XML, JSON och annan payload
  • Designa och implmentera REST-WS server-side
  • Bygga REST-WS server-side med Spark-Java
  • Bygga REST-WS server-side med JAX-RS annoterad kod och Jersey
  • Generera teknisk REST-WS dokumentation med Swagger
  • Hantera autentisering via JWT
Kursinnehåll

HTTP

  • Understand the HTTP protocol
  • HTTP request operations
  • HTTP response codes
  • MIME types
  • Understand the HTTPS hand-shake

REST

  • Understand the REST web services design idea
  • REST resource URIs
  • REST operations
  • Sub-resource URIs
  • REST anti-patterns to avoid

SOAP

  • What is SOAP
  • Whats is WSDL
  • Sample SOAP request and response
  • Understand why SOAP is not used any more

Payload Encoding

  • Open-source libraries for XML
  • Open-source libraries for JSON
  • Overview of Simple XML
  • Parsing XML
  • Generating XML
  • Overview of GSON
  • Parsing JSON
  • Generating JSON
  • Using CSV as the payload encoding
  • Using Java Properties format as the payload encoding

Web Services CLI Tools

  • Why use CLI tools
  • cURL - standard HTTP tool
  • HTTPie - smart REST-WS tool
  • jq - smart JSON processing
  • json-server - quick back-end server
  • JSON PlaceHolder - fake back-end server

Java HTTP Client Invocations

  • Class URL
  • Class URLConnection
  • Class HttpURLConnection
  • Fetching data via HTTP GET
  • Pushing data via HTTP POST
  • Using HTTP PUT/PATCH/DELETE

Java REST Client Tools

  • Using David-Webb
  • Using RESTy

Setting up a Spark-Java Server

  • Overview of Spark-Java
  • Installation
  • Setting up routes
  • Handling JSON payload in the response
  • Handling JSON payload in the request
  • Designing CRUD REST operations
  • Dealing with exceptions
  • Best pratices

Groovy, Grails & Spock

  • Quick intro & motivation why using Groovy tools might be a good idea
  • Groovy - a super-set of Java (as in Java++)
  • Grails - a framework built on Spring & Hibernate, to create web-apps quickly
  • Spock - a versatile testing framework
  • Groovy REST-WS client

AJAX

  • What is AJAX
  • What is asynchronous processing in JavaScript
  • Understanding XMLHttpRequest
  • Brief about jQuery

CORS

  • What is CORS
  • Request & response CORS headers
  • Understanding CORS pre-fligth operations
  • CORS client-server interaction

Annotations Based REST-WS with JAX-RS

  • What is JAX-RS
  • Resource annotations
  • HTTP method operations
  • URI paramters
  • Method parameter annotations
  • JAX-RS implementations
  • Using Jersy
  • Jersey payload encoding alternatives for JSON & XML
  • Using JSON-P
  • Using Moxy
  • Using a Grizzly embedded HTTP server for a Jersy app
  • CRUD operations in JAX-RS @ Jersy

Generated RES-WS Documentation with Swagger

  • What is Swagger
  • The Swagger architecture
  • Swagger JSON specification file
  • Swagger Editor
  • Swagger UI web-app
  • API annotations
  • How to create a REST-WS Jersey web-app with automatic and interactive documentation by Swagger

Authentication using JWT

  • What is a web token
  • How does JWT authentication work
  • Installation of jjwt
  • Using Java JWT
  • Typical use cases
  • Augmenting spark with an JWT authentication filter
  • Authentication online services

Authentication using OATH and a 3rd party

  • What is OAUTH
  • How can a user logon to my site by authenticating somewhere else
  • Installing of the SocialAuth Java library
  • Using Google as the provider
  • Setting up Spark-Java for 3rd party authentication
SnabbFakta
NamnJava för REST webbtjänster
Längd 2 Dagar
Nivå Intermediate
MålgruppJava programmerare
Förkunskaper Praktiska kunskaper i Java programmering
Verktyg
  • Java JDK, version 10+
  • JetBrains IntelliJ IDEA
KursDatum
DatumPlats
Hämtar kursschema...
Pris

15 000 kr + moms 15000

Samma-Företags Rabatt

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurs-tillfälle. Läs mer här.

Företagsintern Kurs

Om du beställer en företagsintern kurs kommer vi till er och håller kursen i era lokaler. Priset bestäms av vår prismodell och baseras på antalet kursdagar, antalet deltagare, samt i förekommande fall resa och logi.

Läs mer om vår prismodell och beställningsvillkor här.

Relaterade Kurser
KursDagarNivå
Java Programmering5BeginnerVisa
Java Programmering Fördjupning3IntermediateVisa
Threads och Concurrency med Java2Advanced Visa