Skip to content

Commit c496302

Browse files
author
gustavnavar
committed
Add more samples
1 parent 093d168 commit c496302

14 files changed

Lines changed: 445 additions & 46 deletions
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package me.agno.demo.config;
2+
3+
import org.springframework.context.annotation.Bean;
4+
import org.springframework.context.annotation.Configuration;
5+
import org.springframework.web.filter.CommonsRequestLoggingFilter;
6+
7+
@Configuration
8+
public class RequestLoggingFilterConfig {
9+
10+
@Bean
11+
CommonsRequestLoggingFilter logFilter() {
12+
CommonsRequestLoggingFilter filter
13+
= new CommonsRequestLoggingFilter();
14+
filter.setIncludeQueryString(true);
15+
filter.setIncludePayload(true);
16+
filter.setMaxPayloadLength(10000);
17+
filter.setIncludeHeaders(false);
18+
filter.setAfterMessagePrefix("REQUEST DATA : ");
19+
return filter;
20+
}
21+
}
22+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package me.agno.demo.controllers;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import me.agno.demo.model.Customer;
5+
import me.agno.demo.repositories.CustomerRepository;
6+
import org.springframework.http.ResponseEntity;
7+
import org.springframework.web.bind.annotation.*;
8+
9+
import java.util.List;
10+
import java.util.Optional;
11+
12+
@RestController
13+
@RequiredArgsConstructor
14+
@RequestMapping(value = "/api")
15+
public class CustomerController {
16+
17+
private final CustomerRepository customerRepository;
18+
19+
@GetMapping(value = {"/customer", "/Customer"})
20+
public ResponseEntity<List<Customer>> getAll() {
21+
return ResponseEntity.ok(customerRepository.findAll());
22+
}
23+
24+
@PostMapping(value = {"/customer", "/Customer"})
25+
public ResponseEntity<Object> create(@RequestBody Customer customer) {
26+
27+
Customer savedCustomer = customerRepository.saveAndFlush(customer);
28+
return ResponseEntity.ok(savedCustomer.getCustomerID());
29+
}
30+
31+
@GetMapping(value = {"/customer/{id}", "/Customer/{id}"})
32+
public ResponseEntity<Customer> get(@PathVariable String id) {
33+
34+
Optional<Customer> customer = customerRepository.findById(id);
35+
return customer.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
36+
}
37+
38+
@PutMapping(value = {"/customer/{id}", "/Customer/{id}"})
39+
public ResponseEntity<Object> update(@RequestBody Customer customer, @PathVariable String id) {
40+
41+
Optional<Customer> attachedCustomer = customerRepository.findById(id);
42+
if (attachedCustomer.isEmpty())
43+
return ResponseEntity.notFound().build();
44+
45+
customer.setCustomerID(id);
46+
customerRepository.saveAndFlush(customer);
47+
48+
return ResponseEntity.noContent().build();
49+
}
50+
51+
@DeleteMapping(value = {"/customer/{id}", "/Customer/{id}"})
52+
public ResponseEntity<Object> delete(@PathVariable String id) {
53+
54+
Optional<Customer> customer = customerRepository.findById(id);
55+
if (customer.isEmpty())
56+
return ResponseEntity.notFound().build();
57+
58+
customerRepository.delete(customer.get());
59+
customerRepository.flush();
60+
61+
return ResponseEntity.noContent().build();
62+
}
63+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package me.agno.demo.controllers;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import me.agno.demo.model.Employee;
5+
import me.agno.demo.repositories.EmployeeRepository;
6+
import org.springframework.http.ResponseEntity;
7+
import org.springframework.web.bind.annotation.*;
8+
9+
import java.util.List;
10+
import java.util.Optional;
11+
12+
@RestController
13+
@RequiredArgsConstructor
14+
@RequestMapping(value = "/api")
15+
public class EmployeeController {
16+
17+
private final EmployeeRepository employeeRepository;
18+
19+
@GetMapping(value = {"/employee", "/Employee"})
20+
public ResponseEntity<List<Employee>> getAll() {
21+
return ResponseEntity.ok(employeeRepository.findAll());
22+
}
23+
24+
@PostMapping(value = {"/employee", "/Employee"})
25+
public ResponseEntity<Object> create(@RequestBody Employee employee) {
26+
27+
Employee savedEmployee = employeeRepository.saveAndFlush(employee);
28+
return ResponseEntity.ok(savedEmployee.getEmployeeID());
29+
}
30+
31+
@GetMapping(value = {"/employee/{id}", "/Employee/{id}"})
32+
public ResponseEntity<Employee> get(@PathVariable int id) {
33+
34+
Optional<Employee> employee = employeeRepository.findById(id);
35+
return employee.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
36+
}
37+
38+
@PutMapping(value = {"/employee/{id}", "/Employee/{id}"})
39+
public ResponseEntity<Object> update(@RequestBody Employee employee, @PathVariable int id) {
40+
41+
Optional<Employee> attachedEmployee = employeeRepository.findById(id);
42+
if (attachedEmployee.isEmpty())
43+
return ResponseEntity.notFound().build();
44+
45+
employee.setEmployeeID(id);
46+
employeeRepository.saveAndFlush(employee);
47+
48+
return ResponseEntity.noContent().build();
49+
}
50+
51+
@DeleteMapping(value = {"/employee/{id}", "/Employee/{id}"})
52+
public ResponseEntity<Object> delete(@PathVariable int id) {
53+
54+
Optional<Employee> employee = employeeRepository.findById(id);
55+
if (employee.isEmpty())
56+
return ResponseEntity.notFound().build();
57+
58+
employeeRepository.delete(employee.get());
59+
employeeRepository.flush();
60+
61+
return ResponseEntity.noContent().build();
62+
}
63+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
package me.agno.demo.controllers;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import me.agno.demo.model.Order;
5+
import me.agno.demo.repositories.OrderRepository;
6+
import org.springframework.http.ResponseEntity;
7+
import org.springframework.web.bind.annotation.*;
8+
9+
import java.util.List;
10+
import java.util.Optional;
11+
12+
@RestController
13+
@RequiredArgsConstructor
14+
@RequestMapping(value = "/api")
15+
public class OrderController {
16+
17+
private final OrderRepository orderRepository;
18+
19+
@GetMapping(value = {"/order", "/Order"})
20+
public ResponseEntity<List<Order>> getAll() {
21+
return ResponseEntity.ok(orderRepository.findAll());
22+
}
23+
24+
@PostMapping(value = {"/order", "/Order"})
25+
public ResponseEntity<Object> create(@RequestBody Order order) {
26+
27+
Order savedOrder = orderRepository.saveAndFlush(order);
28+
return ResponseEntity.ok(savedOrder.getOrderID());
29+
}
30+
31+
@GetMapping(value = {"/order/{id}", "/Order/{id}"})
32+
public ResponseEntity<Order> get(@PathVariable int id) {
33+
34+
Optional<Order> order = orderRepository.findById(id);
35+
return order.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
36+
}
37+
38+
@PutMapping(value = {"/order/{id}", "/Order/{id}"})
39+
public ResponseEntity<Object> update(@RequestBody Order order, @PathVariable int id) {
40+
41+
Optional<Order> attachedOrder = orderRepository.findById(id);
42+
if (attachedOrder.isEmpty())
43+
return ResponseEntity.notFound().build();
44+
45+
order.setOrderID(id);
46+
orderRepository.saveAndFlush(order);
47+
48+
return ResponseEntity.noContent().build();
49+
}
50+
51+
@DeleteMapping(value = {"/order/{id}", "/Order/{id}"})
52+
public ResponseEntity<Object> delete(@PathVariable int id) {
53+
54+
Optional<Order> order = orderRepository.findById(id);
55+
if (order.isEmpty())
56+
return ResponseEntity.notFound().build();
57+
58+
orderRepository.delete(order.get());
59+
orderRepository.flush();
60+
61+
return ResponseEntity.noContent().build();
62+
}
63+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package me.agno.demo.controllers;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import me.agno.demo.model.OrderDetail;
5+
import me.agno.demo.model.OrderDetailKey;
6+
import me.agno.demo.repositories.OrderDetailRepository;
7+
import org.springframework.http.ResponseEntity;
8+
import org.springframework.web.bind.annotation.*;
9+
10+
import java.util.List;
11+
import java.util.Optional;
12+
13+
@RestController
14+
@RequiredArgsConstructor
15+
@RequestMapping(value = "/api")
16+
public class OrderDetailController {
17+
18+
private final OrderDetailRepository orderDetailRepository;
19+
20+
@GetMapping(value = {"/orderdetail", "/OrderDetail"})
21+
public ResponseEntity<List<OrderDetail>> getAll() {
22+
return ResponseEntity.ok(orderDetailRepository.findAll());
23+
}
24+
25+
@PostMapping(value = {"/orderdetail", "/OrderDetail"})
26+
public ResponseEntity<Object> create(@RequestBody OrderDetail orderDetail) {
27+
28+
orderDetailRepository.saveAndFlush(orderDetail);
29+
return ResponseEntity.ok().build();
30+
}
31+
32+
@GetMapping(value = {"/orderdetail/{orderId}/{productId}", "/OrderDetail/{orderId}/{productId}"})
33+
public ResponseEntity<OrderDetail> get(@PathVariable int orderId, @PathVariable int productId) {
34+
35+
Optional<OrderDetail> orderDetail = orderDetailRepository.findById(new OrderDetailKey(orderId, productId));
36+
return orderDetail.map(ResponseEntity::ok).orElseGet(() -> ResponseEntity.notFound().build());
37+
}
38+
39+
@PutMapping(value = {"/orderdetail/{orderId}/{productId}", "/OrderDetail/{orderId}/{productId}"})
40+
public ResponseEntity<Object> update(@RequestBody OrderDetail orderDetail,
41+
@PathVariable int orderId, @PathVariable int productId) {
42+
43+
Optional<OrderDetail> attachedOrderDetail = orderDetailRepository.findById(new OrderDetailKey(orderId, productId));
44+
if (attachedOrderDetail.isEmpty())
45+
return ResponseEntity.notFound().build();
46+
47+
orderDetail.setOrderID(orderId);
48+
orderDetail.setProductID(productId);
49+
orderDetailRepository.saveAndFlush(orderDetail);
50+
51+
return ResponseEntity.noContent().build();
52+
}
53+
54+
@DeleteMapping(value = {"/orderdetail/{orderId}/{productId}", "/OrderDetail/{orderId}/{productId}"})
55+
public ResponseEntity<Object> delete(@PathVariable int orderId, @PathVariable int productId) {
56+
57+
Optional<OrderDetail> orderDetail = orderDetailRepository.findById(new OrderDetailKey(orderId, productId));
58+
if (orderDetail.isEmpty())
59+
return ResponseEntity.notFound().build();
60+
61+
orderDetailRepository.delete(orderDetail.get());
62+
orderDetailRepository.flush();
63+
64+
return ResponseEntity.noContent().build();
65+
}
66+
}

0 commit comments

Comments
 (0)