| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
Signed-off-by: Hitarth Hindocha <hindochahitarth@gmail.com>
Signed-off-by: Hitarth Hindocha <hindochahitarth@gmail.com>
Signed-off-by: Hitarth Hindocha <hindochahitarth@gmail.com>
| Back | FazBrowse Home | New Git URL |
Pull Request Template
GDG CHARUSAT TEAM ID Team 137
Description
This PR introduces a Partial Title Search functionality for books. Previously, users could only fetch books by their exact name using getBookByName. This enhancement allows users to find books even if they only know a fragment of the title, with support for case-insensitivity.
Summary of changes:
BookRepository
Added a new query method findByNameContainingIgnoreCase(String name) to leverage Spring Data JPA's derived query feature.
schema.graphqls
Introduced the searchBooks(title: String!): [Book] query to the GraphQL schema.
BookController
Implemented the @QueryMapping for searchBooks to connect the GraphQL entry point with the repository logic.
Fixes keploy/keploy#3888
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
The changes were verified manually using curl against the local GraphQL endpoint.
Test Case: Partial and Case-Insensitive Search
Setup: Ensure at least one book exists, e.g., "The Great Gatsby".
Execution: Run the following curl command:
bash
curl -X POST http://localhost:8081/graphql
-H "Content-Type: application/json"
-d '{"query": "{ searchBooks(title: "great") { name author { firstName lastName } } }"}'
Expected Result: The API returns an array containing "The Great Gatsby", even though the search term "great" was lowercase.
Additional Context (Please include any Screenshots/gifs if relevant)
This feature improves the discoverability of books in the library system and provides a more user-friendly search experience compared to exact matching.
...
Checklist:
GDG CHARUSAT TEAM ID Team 137