REST development
Introduction
REST development best practices
References
How to Design a REST API
https://restfulapi.net/rest-api-design-tutorial-with-example/
Using HTTP Methods for RESTful Services
https://www.restapitutorial.com/lessons/httpmethods.html
REST Resource Naming Guide
https://restfulapi.net/resource-naming+/
Internationalize your API
https://octo-woapi.github.io/cookbook/internationalization.html
Best practices
Use nouns instead of verbs in endpoints (eg: /v1/curriculums)
Name collections with plural nouns (eg: applications)
Use logical nesting on endpoints to show relationships (eg: applications/learning-objects)
Use filtering (eg: @RequestParam)
Use sorting and pagination (eg: org.springframework.data.domain.Pageable)
Be clear with versioning
Use 'Accept-Language' header in the request for indicating the natural language and locale that the client prefers , eg:
Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5
Server informs the client of the choice with the 'Content-Language' response header, eg:
Content-Language: en-US