REST with Spring

Advanced Queries you own this product

This project is part of the liveProject series REST Services with Spring and JPA
prerequisites
basic SQL • basic Java • basic JSON • basic JUnit 5 and Spring Test • HTTP and REST basics • Spring Data JPA CRUD Repositories
skills learned
Implement queries and Filters with Spring Data JPA Query Methods • Query by Examples and Specification and JPQL
Potito Coluccelli
1 week · 6-8 hours per week · BEGINNER

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


Look inside

Thanks to its newly built API where customers can subscribe to policies, BestInsurance is anticipating steep growth in its customer base. As a backend developer for the insurance company, your task is to extend the features of the RESTful API that exposes the create, read, update, and delete (CRUD) operations to support the front-office staff. You’ll enhance the API’s search capabilities with custom filters, using Query Methods, Query by Example, and JPQL—empowering front-office staff to locate the specific data they need. Using Spring Test and MockMvc, you’ll test the services, ensuring your new features meet BestInsurance’s high standards.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

project author

Potito Coluccelli

Potito Coluccelli is a senior software engineer and team leader at Econocom in Italy, where he works on service-oriented architecture design and implementation as well as supporting customers as they transition from monolithic to microservice architectures. Previously he worked as a middleware consultant at Red Hat and supported companies in Italy and the EU with JEE application design, development, maintenance, and testing. With his team, he created a trade surveillance tool for Commodity Markets that’s been adopted by major energy providers in Italy.

prerequisites

This liveProject is for beginner and intermediate Java programmers who want to learn how to implement custom Spring Data JPA queries. To begin these liveProjects you’ll need to be familiar with the following:

TOOLS
  • Basic Java
  • Basic SQL
  • Basic JSON
  • Basic JUnit 5 and SpringTest
  • Spring Boot 3.1.x stable version
  • Your favorite IDE
TECHNIQUES
  • Basic use of the command line (or equivalent best tools for the operative system you’re using)
  • Basic knowledge of the REST paradigm and HTTP
  • Implement Spring Data JPA CRUD Repository
  • Implement JUnit test cases with SpringTest and TestContainers

you will learn

In this liveProject, you’ll learn how to implement custom Spring Data JPA queries.

  • Query the database using the Spring Data JPA Query Methods, Query by Example and Specification, and JPQL
  • Implement unit testing using Spring Test and MockMvc

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Advanced Queries project for free