Fullmatad kurs från Ribomation om

Kurs om att Bygga REST Webbtjänster i Java

Hur du implementerar REST webbtjänster i Java, både server-side och client-side

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
Innehåll Expand All

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
Namn
Java for REST Web Services Apps
Längd
2 dagar
Nivå
Intermediate
Målgrupp
Java programmerare
Förkunskaper
Praktiska erfarenheter av att utveckla professionella Java program
Teknisk miljö
  • Java JDK, version 8
  • GIT BASH
  • JetBrains IntelliJ IDEA
Schemalagd Kurs

Pris

15 000 kr + moms

Vi ger 20% rabatt för tillkommande deltagare från samma företag vid samma kurstillfälle. Läs mer om vår samma-företags-rabatt.

Aktuella KursDatum
StartdatumPlats
Loading course dates...
Relaterade Kurser
KursLängdNivå
Java Basics4 dagar Beginner
Java Intermediate3 dagarIntermediate
Java Threads and Concurrent Programming2 dagarAdvanced
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.

Prisexempel för NN deltagare

PPP + moms

Antal
Område

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