Skip to content

Commit 10e80a0

Browse files
authored
RestCrudExample
1 parent f98b431 commit 10e80a0

File tree

8 files changed

+273
-0
lines changed

8 files changed

+273
-0
lines changed

java/org/capg/bean/Employee.java

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package org.capg.bean;
2+
3+
import java.time.LocalDate;
4+
import java.util.Date;
5+
6+
import com.fasterxml.jackson.annotation.JsonFormat;
7+
8+
public class Employee {
9+
private int empid;
10+
private String name;
11+
private double salary;
12+
@JsonFormat(pattern="dd-MMM-yyyy")
13+
private LocalDate dob;
14+
15+
public Employee() {
16+
17+
}
18+
public Employee(int empid, String name, double salary, LocalDate dob) {
19+
super();
20+
this.empid = empid;
21+
this.name = name;
22+
this.salary = salary;
23+
this.dob=dob;
24+
}
25+
26+
public LocalDate getDob() {
27+
return dob;
28+
}
29+
public void setDob(LocalDate dob) {
30+
this.dob = dob;
31+
}
32+
public int getEmpid() {
33+
return empid;
34+
}
35+
public void setEmpid(int empid) {
36+
this.empid = empid;
37+
}
38+
public String getName() {
39+
return name;
40+
}
41+
public void setName(String name) {
42+
this.name = name;
43+
}
44+
public double getSalary() {
45+
return salary;
46+
}
47+
public void setSalary(double salary) {
48+
this.salary = salary;
49+
}
50+
51+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package org.capg.controller;
2+
3+
import java.util.List;
4+
5+
6+
import org.capg.bean.Employee;
7+
import org.capg.service.EmployeeService;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.http.HttpStatus;
10+
import org.springframework.http.MediaType;
11+
import org.springframework.http.ResponseEntity;
12+
import org.springframework.web.bind.annotation.DeleteMapping;
13+
import org.springframework.web.bind.annotation.GetMapping;
14+
import org.springframework.web.bind.annotation.PathVariable;
15+
import org.springframework.web.bind.annotation.PostMapping;
16+
import org.springframework.web.bind.annotation.PutMapping;
17+
import org.springframework.web.bind.annotation.RequestBody;
18+
import org.springframework.web.bind.annotation.RequestMapping;
19+
import org.springframework.web.bind.annotation.RestController;
20+
21+
@RestController
22+
@RequestMapping("/employee")
23+
public class MyController {
24+
@Autowired
25+
EmployeeService eservice;
26+
27+
@GetMapping
28+
public List<Employee> printAllEmployee() {
29+
return eservice.printAllEmployee();
30+
}
31+
32+
@GetMapping("/{empid}")
33+
public ResponseEntity<Employee> findEmployee(@PathVariable int empid) {
34+
Employee e=eservice.findEmployee(empid);
35+
if(e!=null)
36+
return new ResponseEntity<Employee>(e,HttpStatus.OK);
37+
else
38+
return new ResponseEntity<Employee>(HttpStatus.NOT_FOUND);
39+
}
40+
//@PostMapping(value="/create", consumes=MediaType.APPLICATION_JSON_VALUE)
41+
@PostMapping
42+
public List<Employee> saveEmployee(@RequestBody Employee emp) {
43+
return eservice.createEmployee(emp);
44+
}
45+
@DeleteMapping("/{empid}")
46+
public List<Employee> deleteEmployee(@PathVariable int empid){
47+
return eservice.removeEmployee(empid);
48+
}
49+
@PutMapping
50+
public List<Employee> updateEmployee(@RequestBody Employee emp){
51+
return eservice.updateEmployee(emp);
52+
}
53+
}

java/org/capg/dao/EmployeeDao.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.capg.dao;
2+
3+
import java.util.List;
4+
5+
import org.capg.bean.Employee;
6+
7+
public interface EmployeeDao {
8+
public List<Employee> getAllEmployee();
9+
public Employee findEmployee(int empid);
10+
public List<Employee> createEmployee(Employee emp);
11+
public List<Employee> deleteEmployee(int empid);
12+
public List<Employee> updateEmployee(Employee emp);
13+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package org.capg.dao;
2+
3+
import java.time.LocalDate;
4+
import java.util.ArrayList;
5+
import java.util.Date;
6+
import java.util.List;
7+
import java.util.stream.Collectors;
8+
9+
import org.capg.bean.Employee;
10+
import org.springframework.stereotype.Repository;
11+
12+
@Repository
13+
public class EmployeeDaoImpl implements EmployeeDao {
14+
private static List<Employee> empList;
15+
static {
16+
empList=new ArrayList<Employee>();
17+
empList.add(new Employee(101, "Umar", 56000,LocalDate.parse("1990-02-01")));
18+
empList.add(new Employee(102, "Harshita", 66000,LocalDate.parse("1992-10-12")));
19+
empList.add(new Employee(103, "Vidya", 76000,LocalDate.parse("1995-09-25")));
20+
empList.add(new Employee(104, "Hari Babu", 96000,LocalDate.parse("1996-02-14")));
21+
}
22+
23+
@Override
24+
public List<Employee> getAllEmployee() {
25+
26+
return empList;
27+
}
28+
29+
@Override
30+
public Employee findEmployee(int empid) {
31+
for(Employee e:empList) {
32+
if(e.getEmpid()==empid)
33+
return e;
34+
}
35+
return null; //empList.stream().filter(e->e.getEmpid()==empid).collect(Collectors.toList()).get(0);
36+
}
37+
38+
@Override
39+
public List<Employee> createEmployee(Employee emp) {
40+
empList.add(emp);
41+
return empList;
42+
}
43+
44+
@Override
45+
public List<Employee> deleteEmployee(int empid) {
46+
Employee e=findEmployee(empid);
47+
if(e!=null) {
48+
empList.remove(e);
49+
return empList;
50+
}
51+
return null;
52+
}
53+
54+
@Override
55+
public List<Employee> updateEmployee(Employee emp) {
56+
int counter=0;
57+
for(Employee e:empList) {
58+
if(e.getEmpid()==emp.getEmpid()) {
59+
empList.set(counter, emp);
60+
return empList;
61+
}
62+
counter++;
63+
}
64+
return null;
65+
}
66+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.capg.demo;
2+
3+
import org.springframework.boot.builder.SpringApplicationBuilder;
4+
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
5+
6+
public class ServletInitializer extends SpringBootServletInitializer {
7+
8+
@Override
9+
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
10+
return application.sources(SpringBootWebProjectDay3Application.class);
11+
}
12+
13+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package org.capg.demo;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.context.annotation.ComponentScan;
6+
7+
@SpringBootApplication
8+
@ComponentScan("org.capg")
9+
public class SpringBootWebProjectDay3Application {
10+
11+
public static void main(String[] args) {
12+
SpringApplication.run(SpringBootWebProjectDay3Application.class, args);
13+
}
14+
15+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.capg.service;
2+
3+
import java.util.List;
4+
5+
import org.capg.bean.Employee;
6+
7+
public interface EmployeeService {
8+
public List<Employee> printAllEmployee();
9+
public Employee findEmployee(int empid) ;
10+
public List<Employee> createEmployee(Employee emp);
11+
public List<Employee> removeEmployee(int empid);
12+
public List<Employee> updateEmployee(Employee emp) ;
13+
14+
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package org.capg.service;
2+
3+
import java.util.List;
4+
5+
import org.apache.catalina.valves.rewrite.InternalRewriteMap.Escape;
6+
import org.capg.bean.Employee;
7+
import org.capg.dao.EmployeeDao;
8+
import org.springframework.beans.factory.annotation.Autowired;
9+
import org.springframework.stereotype.Service;
10+
11+
@Service
12+
public class EmployeeServiceImpl implements EmployeeService {
13+
@Autowired
14+
EmployeeDao edao;
15+
16+
@Override
17+
public List<Employee> printAllEmployee() {
18+
// TODO Auto-generated method stub
19+
return edao.getAllEmployee();
20+
}
21+
22+
@Override
23+
public Employee findEmployee(int empid) {
24+
return edao.findEmployee(empid);
25+
}
26+
27+
@Override
28+
public List<Employee> createEmployee(Employee emp) {
29+
if(emp.getEmpid()==0 || emp.getName()==null)
30+
return null;
31+
else
32+
return edao.createEmployee(emp);
33+
}
34+
35+
@Override
36+
public List<Employee> removeEmployee(int empid) {
37+
return edao.deleteEmployee(empid);
38+
}
39+
40+
@Override
41+
public List<Employee> updateEmployee(Employee emp) {
42+
if(emp.getEmpid()==0)
43+
return null;
44+
else
45+
return edao.updateEmployee(emp);
46+
}
47+
48+
}

0 commit comments

Comments
 (0)