Welcome to the Java Spring Boot API Development challenge! Your mission, should you choose to accept it, is to implement a set of REST APIs for managing Books using the given Java Spring Boot boilerplate project.
Your task is to create, list, get, update, and delete Books using the following APIs:
- 🙋 Create Book API: Implement a POST API to create a book.
- 📋 List Book API: Implement a GET API to list all books.
- 🔍 Get Book API: Implement a GET API to get a single book.
- 📝 Update Book API: Implement a PUT API to update a book.
- 🗑️ Delete Book API: Implement a DELETE API to delete a book.
You can refer to https://bookstore.toolsqa.com/swagger/#/BookStore for the request payload and response.
- You should use Java Spring Boot to implement the APIs.
- You should implement proper error handling and return appropriate error responses in case of invalid requests or errors.
- You should write unit tests to test your API endpoints.
- Implement pagination for the List Books API.
- Implement validation for the Create and Update Book APIs to ensure that the name fields are not empty and have a maximum length of 50 characters.
- Use this Gitpod to do your development.
- You are allowed to use Google and Stack Overflow. However, you will be quizzed on how your code works.
- Implement the above APIs.
- Write unit tests to test your API endpoints.
- When you are done, please run the test command and show the output of the test execution. Once the test execution has completed successfully, inform your interviewer.
Good luck and have fun! 🤖