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.
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.
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 | Trying support of OpenAPI 3.0 | ||
758803 | Daniel González | Uncastellum/lab3-restful-ws | |||
758906 | Raúl Javierre | rauljavierre/lab3-restful-ws | Trying to reimplement with Spring MVC | 🎁 | |
757153 | Fran-sw | lab3-restful-ws | |||
758267 | Pedro Allué | piter1902/lab3-restful-ws | |||
761319 | Marcos Nuez | Markles01/lab3-restful-ws | |||
760739 | Alberto Calvo | AlbertoCalvoRubio/lab3-restful-ws | Trying to use JWT credentials to grant access to requests | 🎁 | |
760704 | Álvaro García | Alvarogd6/lab3-restful-ws | Support of CORS requests | 🎁 | |
756123 | Rogelio Lacruz | RogorStuff/lab3-restful-ws | |||
766685 | Enrique Ruiz Flores | TheRealFreeman/lab3-restful-ws | |||
755769 | Saúl Flores Benavente | saul205/lab3-restful-ws | |||
758325 | Irene Fumanal | irefu/lab3-restful-ws |