1. Home
  2. Courses
  3. Jvm
  4. Java-rest-web-services

Online Kurs omJava REST Web Services

Kurs i att skapa REST Web Services med Java

Fakta om kursen

Kursens namn
Java REST Web Services
Längd
3 dagar
Nivå
Advanced
Målgrupp
Java programmerare
Förkunskaper
Praktiska kunskaper i Java programmering
Verktyg
  • Java JDK, JetBrains IntelliJ IDEA

Online

Du sitter bekvämt hemma och deltar i kursen över internet. Läraren undervisar på svenska. Om du önskar du kursen på engelska, kontakta oss så skapar vi ett kursdatum för dig där kursen ges på engelska via Zoom.
Pris: 12,000 kr (€1,139)

Klassrum

Våra klassrum finns centralt i Stockholm. Läraren undervisar på svenska.
Pris: 19,000 kr

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

Företagsinternt

Du kan också beställa kursen som företagsintern. Då kommer vi till er och håller kursen i era lokaler. Alternativt så håller vi kursen online om ni så önskar. Ni väljer om ni vill ha kursen på svenska eller engelska. Skicka en kurs-förfrågan via knappen nedan.

Företagsintern Kurs

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 på kursen

  • 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
  • Använda nya HttpClient som kom i Java 11
  • Använda det nya ramverket Micronaut för att implementera REST-WS servrar

Kursinnehåll

Concepts

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

Clients

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

Using HttpClient

  • What is the new HttpClient
  • Synchronous vs. asynchronous mode
  • Simple HTTP operations
  • Handle response bodies
  • Perfoming async requests

AJAX

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

Servers

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

Using Micronaut

  • What is Micronaut
  • Installation
  • Using the CLI
  • Using Micronaut annotations
  • Controllers
  • Deploying for microservices
  • Configuration

CORS

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

JAX-RS

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 REST-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

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