[SOLVED] Java -Lab 11  - REST Services

30.00 $

Programming resource
Digital learning resource
Category:
Practical programming resource
Suitable for guided study and reference
Tutor guidance available when needed

Description

5/5 - (1 vote)

Continue the application created at the previous lab integrating the following functionalities:

  • Create a database in order to store the persons and their social network
  • Implement REST services needed to comunicate with the database (CRUD).

The main specifications of the application are:

 

Compulsory (1p)

  • Create a Spring Boot project containing the REST services for comunicating with the database.
  • Create the class Person.
  • Create a REST controller containing methods for:
    • obtaining the list of the persons, via a HTTP GET request.
    • adding a new person in the database, via a HTTP POST request. o modifying the name of a person, via a HTTP PUT request.
    • deleting a person, via a HTTP DELETE request.
  • Test your services using the browser and/or Postman.

 

Optional (2p)

  • Create REST services for inserting and reading relationships.
  • Create services for determining the first k most/least connected (popular) persons in the network.
  • Integrate the services into your previous project, invoking them using the support offered by Spring Boot.
  • Handle the exceptions using a RestControllerAdvice.

 

Bonus (2p)

  • Write a service that determines in linear time all persons who are so important to the social network such that, if one of them were eliminated, the network would become disconnected.
  • Document your services using Swagger or a similar tool.
  • Secure your services using the HTTPS protocol and JSON Web Tokens

 

Resources

Objectives

  • Understand the concept of application framework.
  • Get familiar with Spring Boot.
  • Understant REST software architectural style.
  • Write programs that communicate with other programs on the network, using HTTP.
Resource details

Understand the Task Before You Use the Resource

Review the requirements, identify the programming concepts involved, study the implementation and test your understanding with your own examples and modifications.