Lab #2 - Building a Composite Microservice you will be creating/refactoring 3 Java projects: #1 the orginal Microservice will become the back-end service called by the composite microservice this microservice will support these Endpoints: @GetMapping(value="/routes", produces="application/json") List getRoutes() throws IOException; @GetMapping(value="/route/{code}", produces="application/json") Route getRouteByCode(@PathVariable String code) throws IOException; and Optionaly @GetMapping(value="/stage/{code}/{stageNum}", produces="application/json") Stage getStageByCodeAndNumber(@PathVariable String code, @PathVariable int stageNum) throws IOException; #2 a non Spring Boot project, a Maven project to hold the entity classes used by the Microservices move the Route, RouteList and Stage classes to this project, then build this project to get a jar (Run As -> Maven Install) Add this jar as a dependency to project #1 and run project #1 to confirm it still works this project will also contain the entity class(es) for the composite microservice RouteSummary private String name; private String code; private String nickname; private int count; private int length; private String description; private String startCity; private String startCountry; make sure all the entity classes implement Serializable and have toString(), equals() and hashCode() methods #3 the new Spring Boot project w/ the Spring Web dependency this will have the following EndPoints @GetMapping(value="/routeSummaries", produces="application/json") List getRouteSummaries() throws IOException; @GetMapping(value="/routeSummary/{code}", produces="application/json") RouteSummary getRouteSummaryByCode(@PathVariable String code) throws IOException; these endpoints will invoke microservie #1 to get the Route data, then create the RouteSummary output Run the compsite microservice and verify everthing works. Make sure microservice #1 is running on a different port Options: can you add Logging to each microservices? can you generate a Correlation ID and pass it between microservices?