Definition: https://en.wikipedia.org/wiki/Representational_state_transfer
Note:
- An remote invocation method
- Key
- Resource: URI/URL
- HTTP method: POST, PUT, DELETE, PUT etc
- HTTP status: 200. 201, 204, 400, 404, 409, 500 etc
- Versus SOAP
- Resource VS Action
- JSON VS SOAP
- Design API
- PATH PARAM
- QUERY PARAM
Example: https://github.com/GrapeBaBa/rest-demo
./mvnw eclipse:eclipse or ./mvnw idea:idea
./mvnw spring-boot:run
Note:
- Error response
- HTTP status code
- JSON serialization
- Pagination query API design
- File upload API design
- Multiple items deletion API design