-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
Summary
Implement comprehensive employee search functionality to allow users to find employees by various criteria with pagination support.
Requirements
- Search by name: Allow partial matching of first name, last name, or full name
- Search by department: Filter employees by department name
- Search by salary range: Find employees within specified minimum and maximum salary ranges
- Pagination support: Handle large result sets efficiently with page/size parameters
Technical Details
API Endpoint
- Endpoint: GET /api/employees/search
- Query Parameters:
- name (optional): Employee name (partial matching)
- department (optional): Department name
- minSalary (optional): Minimum salary filter
- maxSalary (optional): Maximum salary filter
- page (default: 0): Page number for pagination
- size (default: 20): Number of results per page
Implementation Tasks
- Create EmployeeSearchController with search endpoint
- Implement service layer methods with proper error handling
- Add database queries with JPA criteria or custom repository methods
- Include input validation for search parameters
- Add comprehensive unit and integration tests
- Update API documentation
Acceptance Criteria
- Users can search employees by name with partial matching
- Users can filter by department and salary range
- Results are paginated with configurable page size
- API returns proper HTTP status codes and error messages
- All endpoints are thoroughly tested
- API documentation is updated
Labels
enhancement, backend, api, good-first-issue
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers