This API provides endpoints for managing employee data.
## Getting Started
To use this API, you'll need a tool that can make HTTP requests, such as Postman or curl.
All API endpoints are prefixed with /employee
.
Here's a list of the available API endpoints:
### Get all employees:
GET /employee/all
### Get employee by ID:
GET /employee/{id}
Replace {id}
with the actual employee ID.
### Add a new employee:
POST /employee/add
Include employee details in the request body in JSON format.
### Update an existing employee:
PUT /employee/update/{id}
Replace {id}
with the actual employee ID.
Include updated employee details in the request body in JSON format.
### Delete an employee:
DELETE /employee/delete/{id}
Replace {id}
with the actual employee ID.
### Search for employees:
GET /employee/search
Use query parameters to filter search results.
The following search filters are supported:
- name: Filter by employee name (e.g.,
/employee/search?name={name}
) - department.department1.id: Filter by department 1 ID (e.g.,
/employee/search?department.department1.id={departmentId}
) - department.department1.name: Filter by department 1 name (e.g.,
/employee/search?department.department1.name={departmentName}
) - department.department2.id: Filter by department 2 ID (e.g.,
/employee/search?department.department2.id={departmentId}
) - department.department2.name: Filter by department 2 name (e.g.,
/employee/search?department.department2.name={departmentName}
) - dob: Filter by date of birth (format: YYYY-MM-DD) (e.g.,
/employee/search?dob={dateOfBirth}
) - localAddress.street: Filter by local address street (e.g.,
/employee/search?localAddress.street={streetAddress}
) - localAddress.city: Filter by local address city (e.g.,
/employee/search?localAddress.city={city}
) - localAddress.zipCode: Filter by local address zip code (e.g.,
/employee/search?localAddress.zipCode={zipCode}
) - officeAddress.street: Filter by office address street (e.g.,
/employee/search?officeAddress.street={streetAddress}
) - officeAddress.city: Filter by office address city (e.g.,
/employee/search?officeAddress.city={city}
) - officeAddress.zipCode: Filter by office address zip code (e.g.,
/employee/search?officeAddress.zipCode={zipCode}
) - salary: Filter by salary (e.g.,
/employee/search?salary={salary}
) - spouse: Filter by spouse name (e.g.,
/employee/search?spouse={spouseName}
) - kid: Filter by kid name (e.g.,
/employee/search?kid={kidName}
) - parent: Filter by parent name (e.g.,
/employee/search?parent={parentName}
) - parentInLaw: Filter by parent in law name (e.g.,
/employee/search?parentInLaw={parentInLawName}
) - otherDependent: Filter by other dependent name (e.g.,
/employee/search?otherDependent={otherDependentName}
)
Combine multiple filters using the &
symbol.
For example, you can search for employees who are in department 1 with ID 10 and have a salary greater than 50000: /employee/search?department.department1.id=10&salary=50000
**Replace {name}
, {departmentId}
, {departmentName}
, {dateOfBirth}
, {streetAddress}
, {city}
, {zipCode}
, {salary}
, {spouseName}
, {kidName}
, {parentName}
, {parentInLawName}
, and {otherDependentName}
with your desired search criteria.
[
{
"address": {
"localAddress": {
"city": "Springfield",
"street": "123 Main St",
"zipCode": "12345"
},
"officeAddress": {
"city": "Springfield",
"street": "456 Office Ave",
"zipCode": "54321"
}
},
"department": {
"department1": {
"id": 1,
"name": "IT"
},
"department2": {
"id": 2,
"name": "HR"
}
},
"dob": "1990-01-01",
"family": {
"dependents": {
"others": [
"Other dependent 1",
"Other dependent 2"
],
"parents": [
"Parent 1",
"Parent 2"
],
"parentsInLaw": [
"Parent in law 1",
"Parent in law 2"
]
},
"kids": [
"Alice",
"Bob"
],
"spouse": "Jane Doe"
},
"id": 1,
"name": "John Doe",
"salary": 60000.0
}
]
```-