Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions employee.json

This file was deleted.

4 changes: 4 additions & 0 deletions src/main/java/com/example/demo/Employee.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ public class Employee {
private String lastname;
private String position;
private String department;
private String passportNumber;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getLastname() { return lastname; }
Expand All @@ -16,4 +17,7 @@ public void setPosition(String position) { this.position =
public String getDepartment() { return department; }
public void setDepartment(String department) { this.department =
department; }
public String getPassportNumber() { return passportNumber; }
public void setPassportNumber(String passportNumber) {
this.passportNumber = passportNumber; }
}
46 changes: 40 additions & 6 deletions src/main/java/com/example/demo/EmployeeController.java
Original file line number Diff line number Diff line change
@@ -1,20 +1,54 @@
package com.example.demo;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.web.bind.annotation.*;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/employee")
public class EmployeeController {
private final File employeeFile = new File("employee.json");
private final ObjectMapper mapper = new ObjectMapper();
@GetMapping("/list")
public List<Employee> getAllEmployees() {
try {
// Read and return the list of employees
if (employeeFile.exists()) {
return mapper.readValue(employeeFile, new
TypeReference<List<Employee>>() {});
} else {
return new ArrayList<>(); // Return an empty list if no

}
} catch (IOException e) {
e.printStackTrace();
return new ArrayList<>(); // Return an empty list if there's

}
}
@PostMapping("/add")
public String addEmployee(@RequestBody Employee employee) {
try {
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(new File("employee.json"), employee);
return "Employee data saved successfully!";
List<Employee> employees = new ArrayList<>();
if (employeeFile.exists()) {
employees = mapper.readValue(employeeFile, new
TypeReference<List<Employee>>() {});
}
for (Employee existingEmployee : employees) {
if
(existingEmployee.getPassportNumber().equals(employee.getPassportNumber())) {
return "Error: Duplicate passport number!";
}
}
employees.add(employee);
mapper.writeValue(employeeFile, employees);
return "Employee added successfully!";
} catch (IOException e) {
return "Error saving employee data: " + e.getMessage();
}
}
}

}}