Order controller and DTOs
When a request comes to the server to order a bunch of products, it comes in an HTTPS POST
request. The body of the request is encoded in JSON. Till now, we had controllers that were handling GET
parameters, but handling POST
requests is not much more difficult when we can rely on the data marshalling of Spring. The controller code itself is simple:
package packt.java9.by.example.mybusiness.bulkorder.controllers; import ... @RestController public class OrderController { private Logger log = LoggerFactory.getLogger(OrderController.class); private final Checker checker; public OrderController(@Autowired Checker checker) { this.checker = checker; } @RequestMapping("/order") public Confirmation getProductInformation(@RequestBody Order order) { if (checker.isConsistent(order)) { return Confirmation.accepted(order); } else { return Confirmation.refused(order); ...