andrewknoll / lab3-restful-ws

Lab 3. RESTful Web Services. Deadline 2020-11-20

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Status

Web Engineering 2020-2021 / RESTful Web services

In this assignment your PR must only modify the README.md file. Please, go to the Wiki in order to get the instructions for this assignment.

Primary goal

Complete the tests of AddressBookServiceTest to tests if the service meets the HTTP semantics. Each test in AddressBookServiceTest is incomplete. For example, the method serviceIsAlive tests if:

GET /contacts

returns an empty list, but it must be extended in order to verify that GET /contacts meets the HTTP GET contract:

  • GET request is safe (it does not modify the contents of the address book)
  • GET request is idempotent (two consecutive calls return the same).

Note: During the lab session was revealed that a subtle bug is hidden in the code that may cause you problems if the server has many concurrent requests. Finding this bug is not a requirement for this lab, but you must report me which flaw you suspect the code has (e.g. by adding a note in AddressBookServiceTest.java). I will accept your PR regardless your findings are correct or not, or even if you tell me you cannot find the bug. After accepting your PR, I will provide feedback by email on this bug if you cannot find it because I strongly believe that being aware of the problems that this bug causes and how to fix it will be helpful for your URL shortener project.

Secondary goals (:gift:)

Solutions must meet primary goals too.

Done:

  • Replace the current implementation (Jakarta Jersey) by a Spring MVC (Servlet) implementation was implemented by Raul Javierre. He has learned how to map concepts from JAX-RS to Spring MVC and how frameworks can help to obtain extra information from HTTP requests 🎁
  • CORS support was implemented by Alvaro García on the original Jakarta Jersey implementation. His PR is explains how CORS works very clearly. Worth read 🎁
  • Use JWT credentials to grant access to requests was implemented by Alberto Calvo on the original Jakarta Jersey implementation. How JWT support is implemented in framework may differ. For example, Spring Framework requires the use of a Filter in order to integrate JWT with Spring Security. However Jakarta Jersey is more clean and the implementation of Alberto makes easier to understand how JWT works on the server side 🎁

In progress:

  • Support of OpenAPI 3.0

Proposed:

  • Replace the current implementation (Jakarta Jersey) by a Spring WebFlux (Reactive) implementation
  • Support asynchronous requests without using Spring WebFlux
  • Support of HTTP/2 requests
  • Support of HTTPS requests using self-signed certificate

Note: unless the goal specifies o disallows a specific framework you are free to replace the framework used in the original implementation with a different framework.

Manifest your intention first by a PR updating this README.md with your goal. If you desist of your goal, release it by a PR so other fellow can try it.

NIA User name Repo Build Status Improvement Score
740491 José Ignacio Hernández 740491/lab3-restful-ws Build Status Trying support of OpenAPI 3.0
758803 Daniel González Uncastellum/lab3-restful-ws Build Status
758906 Raúl Javierre rauljavierre/lab3-restful-ws Build Status Trying to reimplement with Spring MVC 🎁
757153 Fran-sw lab3-restful-ws Build Status
758267 Pedro Allué piter1902/lab3-restful-ws Build Status
761319 Marcos Nuez Markles01/lab3-restful-ws Build Status
739202 Luis Garcia luisgg98/lab3-restful-ws Build Status
760739 Alberto Calvo AlbertoCalvoRubio/lab3-restful-ws Build Status Trying to use JWT credentials to grant access to requests 🎁
760704 Álvaro García Alvarogd6/lab3-restful-ws Build Status Support of CORS requests 🎁
756123 Rogelio Lacruz RogorStuff/lab3-restful-ws Build Status
766685 Enrique Ruiz Flores TheRealFreeman/lab3-restful-ws Build Status
755769 Saúl Flores Benavente saul205/lab3-restful-ws Build Status
758325 Irene Fumanal irefu/lab3-restful-ws Build Status
755742 Juan José Tambo Tambo jtambo99/lab3-restful-ws Build Status
794429 Martín Gascón 764429/lab3-restful-ws Build Status
761754 David Alloza david-AT/lab3-restful-ws Build Status
739324 Elena Morón Vidal elenamv13/lab3-restful-wsl Build Status
756308 Álvaro Santamaría SanTa45zgz/lab3-restful-ws Build Status

About

Lab 3. RESTful Web Services. Deadline 2020-11-20


Languages

Language:Java 100.0%