diff --git a/spring-security-rest/src/main/java/org/baeldung/spring/SecurityJavaConfig.java b/spring-security-rest/src/main/java/org/baeldung/spring/SecurityJavaConfig.java index 9abe604def..bb51f5fd17 100644 --- a/spring-security-rest/src/main/java/org/baeldung/spring/SecurityJavaConfig.java +++ b/spring-security-rest/src/main/java/org/baeldung/spring/SecurityJavaConfig.java @@ -43,6 +43,8 @@ public class SecurityJavaConfig extends WebSecurityConfigurerAdapter { .and() .authorizeRequests() .antMatchers("/api/csrfAttacker*").permitAll() + .antMatchers("/api/customers**").permitAll() + .antMatchers("/api/customer/**").permitAll() .antMatchers("/api/**").authenticated() .and() .formLogin() diff --git a/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomerController.java b/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomerController.java index ffc3921623..ac63a81d97 100644 --- a/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomerController.java +++ b/spring-security-rest/src/main/java/org/baeldung/web/controller/CustomerController.java @@ -39,9 +39,10 @@ public class CustomerController { for (final Customer customer : allCustomers) { final Link selfLink = ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(CustomerController.class).getCustomerById(customer.getCustomerId())).withSelfRel(); customer.add(selfLink); - final Link ordersLink = ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(CustomerController.class).getOrdersForCustomer(customer.getCustomerId())).withRel("allOrders"); - customer.add(ordersLink); - + if (customer.getOrders().values().size() > 0) { + final Link ordersLink = ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(CustomerController.class).getOrdersForCustomer(customer.getCustomerId())).withRel("allOrders"); + customer.add(ordersLink); + } for (final Order order : customer.getOrders().values()) { final Link orderLink = ControllerLinkBuilder.linkTo(ControllerLinkBuilder.methodOn(CustomerController.class).getOrderByIdForCustomer(customer.getCustomerId(), order.getOrderId())).withRel("order"); order.add(orderLink); diff --git a/spring-security-rest/src/main/java/org/baeldung/web/service/CustomerServiceImpl.java b/spring-security-rest/src/main/java/org/baeldung/web/service/CustomerServiceImpl.java index 621abcdf1f..d41b532f78 100644 --- a/spring-security-rest/src/main/java/org/baeldung/web/service/CustomerServiceImpl.java +++ b/spring-security-rest/src/main/java/org/baeldung/web/service/CustomerServiceImpl.java @@ -14,15 +14,18 @@ public class CustomerServiceImpl implements CustomerService { private HashMap customerMap; private HashMap customerOneOrderMap; private HashMap customerTwoOrderMap; + private HashMap customerThreeOrderMap; public CustomerServiceImpl() { customerMap = new HashMap<>(); customerOneOrderMap = new HashMap<>(); customerTwoOrderMap = new HashMap<>(); + customerThreeOrderMap = new HashMap<>(); final Customer customerOne = new Customer("10A", "Jane", "ABC Company"); final Customer customerTwo = new Customer("20B", "Bob", "XYZ Company"); + final Customer customerThree = new Customer("30C", "Tim", "CKV Company"); customerOneOrderMap.put("001A", new Order("001A", 150.00, 25)); customerOneOrderMap.put("002A", new Order("002A", 250.00, 15)); @@ -32,8 +35,10 @@ public class CustomerServiceImpl implements CustomerService { customerOne.setOrders(customerOneOrderMap); customerTwo.setOrders(customerTwoOrderMap); + customerThree.setOrders(customerThreeOrderMap); customerMap.put("10A", customerOne); customerMap.put("20B", customerTwo); + customerMap.put("30C", customerThree); }