diff --git a/java/pom.xml b/java/pom.xml
index 0cb1a2f7..e37fbd2f 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -15,13 +15,13 @@
com.amido.stacks.workloads
stacks-api-cqrs
1.0.0
- stacks-api-cqrs
+ ${project.groupId}:${project.artifactId}
Demo project for Java with CQRS
1.0.3
- 1.0.0
+ 1.0.2.2-RELEASE
1.0.0
1.0.0
@@ -69,15 +69,6 @@
-
-
-
- snapshots
- default-maven-virtual
- https://amidostacks.jfrog.io/artifactory/default-maven-virtual
-
-
-
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateCategoryController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateCategoryController.java
index 30a81214..b687aa77 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateCategoryController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateCategoryController.java
@@ -1,66 +1,35 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.CreateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
-@RequestMapping("/v1/menu/{id}/category")
+@RequestMapping(
+ path = "/v1/menu/{id}/category",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.POST)
public interface CreateCategoryController {
- @PostMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+ @PostMapping
@Operation(
tags = "Category",
summary = "Create a category in the menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Adds a category to menu",
- operationId = "AddMenuCategory",
- responses = {
- @ApiResponse(
- responseCode = "201",
- description = "Resource created",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceCreatedResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "AddMenuCategory")
+ @CreateAPIResponses
ResponseEntity addMenuCategory(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Valid @RequestBody CreateCategoryRequest body,
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateItemController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateItemController.java
index 5d2cab08..e2aa128f 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateItemController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateItemController.java
@@ -1,66 +1,35 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.CreateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
-@RequestMapping("/v1/menu/{id}/category/{categoryId}/items")
+@RequestMapping(
+ path = "/v1/menu/{id}/category/{categoryId}/items",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.POST)
public interface CreateItemController {
- @PostMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+ @PostMapping
@Operation(
tags = "Item",
summary = "Add an item to an existing category in a menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Adds a menu item",
- operationId = "AddMenuItem",
- responses = {
- @ApiResponse(
- responseCode = "201",
- description = "Resource created",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceCreatedResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "AddMenuItem")
+ @CreateAPIResponses
ResponseEntity addMenuItem(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(description = "Category id", required = true) @PathVariable("categoryId")
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateMenuController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateMenuController.java
index c36124a1..514e5b34 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateMenuController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/CreateMenuController.java
@@ -1,68 +1,33 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.CreateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
-@RequestMapping("/v1/menu")
+@RequestMapping(
+ path = "/v1/menu",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + " ; charset=utf-8",
+ method = RequestMethod.POST)
public interface CreateMenuController {
- @PostMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+ @PostMapping
@Operation(
tags = "Menu",
summary = "Create a menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Adds a menu",
- operationId = "CreateMenu",
- responses = {
- @ApiResponse(
- responseCode = "201",
- description = "Resource created",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceCreatedResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "CreateMenu")
+ @CreateAPIResponses
ResponseEntity createMenu(
@Valid @RequestBody CreateMenuRequest body,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId);
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteCategoryController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteCategoryController.java
index f161c59d..ddc27d8c 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteCategoryController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteCategoryController.java
@@ -1,67 +1,30 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.DeleteAPIResponses;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
-@RequestMapping("/v1/menu/{id}/category/{categoryId}")
+@RequestMapping(
+ path = "/v1/menu/{id}/category/{categoryId}",
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.DELETE)
public interface DeleteCategoryController {
- @DeleteMapping(produces = "application/json; charset=utf-8")
+ @DeleteMapping
@Operation(
tags = "Category",
summary = "Removes a category and its items from menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Removes a category and its items from menu",
- operationId = "DeleteCategory",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "DeleteCategory")
+ @DeleteAPIResponses
ResponseEntity deleteCategory(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(description = "Category id", required = true) @PathVariable("categoryId")
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteItemController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteItemController.java
index 538b986d..2ef33ce5 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteItemController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteItemController.java
@@ -1,68 +1,31 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.DeleteAPIResponses;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
/** @author ArathyKrishna */
-@RequestMapping("/v1/menu/{id}/category/{categoryId}/items/{itemId}")
+@RequestMapping(
+ path = "/v1/menu/{id}/category/{categoryId}/items/{itemId}",
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.DELETE)
public interface DeleteItemController {
- @DeleteMapping(produces = "application/json; charset=utf-8")
+ @DeleteMapping
@Operation(
tags = "Item",
summary = "Removes an item from menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Removes an item from menu",
- operationId = "DeleteMenuItem",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "404",
- description = "Resource not found",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "DeleteMenuItem")
+ @DeleteAPIResponses
ResponseEntity deleteItem(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(description = "Category id", required = true) @PathVariable("categoryId")
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteMenuController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteMenuController.java
index 70226a67..dde1e043 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteMenuController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/DeleteMenuController.java
@@ -1,72 +1,35 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.DeleteAPIResponses;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
/**
* Controller for Deleting a menu
*
* @author ArathyKrishna
*/
-@RequestMapping("/v1/menu/{id}")
+@RequestMapping(
+ path = "/v1/menu/{id}",
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.DELETE)
public interface DeleteMenuController {
- @DeleteMapping(produces = "application/json; charset=utf-8")
+ @DeleteMapping
@Operation(
tags = "Menu",
summary = "Removes a Menu with all it's Categories and Items",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Remove a menu from a restaurant",
- operationId = "DeleteMenu",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content = @Content(mediaType = "application/json", schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content = @Content(schema = @Schema(hidden = true))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "404",
- description = "Resource not found",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "DeleteMenu")
+ @DeleteAPIResponses
ResponseEntity deleteMenu(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId);
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/QueryMenuController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/QueryMenuController.java
index 6fb4d215..f2415c2b 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/QueryMenuController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/QueryMenuController.java
@@ -1,6 +1,6 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.SearchAPIResponses;
import com.amido.stacks.workloads.menu.api.v1.dto.response.MenuDTO;
import com.amido.stacks.workloads.menu.api.v1.dto.response.SearchMenuResult;
import io.swagger.v3.oas.annotations.Operation;
@@ -8,38 +8,37 @@
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.io.IOException;
import java.util.UUID;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
-@RequestMapping("/v1/menu")
+@RequestMapping(
+ path = "/v1/menu",
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.GET)
public interface QueryMenuController {
- @GetMapping(produces = "application/json; charset=utf-8")
+ @GetMapping
@Operation(
tags = "Menu",
summary = "Get or search a list of menus",
- security = @SecurityRequirement(name = "bearerAuth"),
description =
- "By passing in the appropriate options, you can search for available menus in the system",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Search results matching criteria",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = SearchMenuResult.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ "By passing in the appropriate options, you can search for available menus in the system")
+ @ApiResponse(
+ responseCode = "200",
+ description = "Search results matching criteria",
+ content =
+ @Content(
+ mediaType = "application/json",
+ schema = @Schema(implementation = SearchMenuResult.class)))
+ @SearchAPIResponses
ResponseEntity searchMenu(
@RequestParam(value = "searchTerm", required = false) String searchTerm,
@RequestParam(value = "restaurantId", required = false) UUID restaurantId,
@@ -47,36 +46,20 @@ ResponseEntity searchMenu(
@RequestParam(value = "pageNumber", required = false, defaultValue = "1") Integer pageNumber)
throws IOException;
- @GetMapping(value = "/{id}", produces = "application/json; charset=utf-8")
+ @GetMapping(value = "/{id}")
@Operation(
tags = "Menu",
summary = "Get a menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description =
- "By passing the menu id, you can get access to available categories and items in the menu",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Menu",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = MenuDTO.class))),
- @ApiResponse(
- responseCode = "404",
- description = "Menu Not Found",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ "By passing the menu id, you can get access to available categories and items in the menu")
+ @ApiResponse(
+ responseCode = "200",
+ description = "Menu",
+ content =
+ @Content(
+ mediaType = "application/json",
+ schema = @Schema(implementation = MenuDTO.class)))
+ @SearchAPIResponses
ResponseEntity getMenu(
@PathVariable(name = "id") UUID id,
@Parameter(hidden = true) @RequestAttribute("CorrelationId") String correlationId);
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateCategoryController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateCategoryController.java
index c208ba88..69d8e49b 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateCategoryController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateCategoryController.java
@@ -1,74 +1,36 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.UpdateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
/** @author ArathyKrishna */
-@RequestMapping("/v1/menu/{id}/category/{categoryId}")
+@RequestMapping(
+ path = "/v1/menu/{id}/category/{categoryId}",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.PUT)
public interface UpdateCategoryController {
- @PutMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+ @PutMapping
@Operation(
tags = "Category",
summary = "Update a category in the menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Update a category to menu",
- operationId = "UpdateMenuCategory",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceUpdatedResponse.class))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "UpdateMenuCategory")
+ @UpdateAPIResponses
ResponseEntity updateMenuCategory(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(description = "Category id", required = true) @PathVariable("categoryId")
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateItemController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateItemController.java
index 6be274a6..8d507058 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateItemController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateItemController.java
@@ -1,73 +1,36 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.UpdateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
/** @author ArathyKrishna */
-@RequestMapping("/v1/menu/{id}/category/{categoryId}/items/{itemId}")
+@RequestMapping(
+ path = "/v1/menu/{id}/category/{categoryId}/items/{itemId}",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.PUT)
public interface UpdateItemController {
- @PutMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+
+ @PutMapping
@Operation(
tags = "Item",
summary = "Update an item in the menu",
- security = @SecurityRequirement(name = "bearerAuth"),
description = "Update an item in the menu",
- operationId = "UpdateMenuItem",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceUpdatedResponse.class))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "404",
- description = "Resource not found",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ operationId = "UpdateMenuItem")
+ @UpdateAPIResponses
ResponseEntity updateItem(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Parameter(description = "Category id", required = true) @PathVariable("categoryId")
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateMenuController.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateMenuController.java
index 79b89333..851a9d1b 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateMenuController.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/UpdateMenuController.java
@@ -1,72 +1,34 @@
package com.amido.stacks.workloads.menu.api.v1;
-import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.annotations.UpdateAPIResponses;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import java.util.UUID;
import javax.validation.Valid;
+import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestAttribute;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
-@RequestMapping("/v1/menu/{id}")
+@RequestMapping(
+ path = "/v1/menu/{id}",
+ consumes = MediaType.APPLICATION_JSON_VALUE,
+ produces = MediaType.APPLICATION_JSON_VALUE + "; charset=utf-8",
+ method = RequestMethod.PUT)
public interface UpdateMenuController {
- @PutMapping(consumes = "application/json", produces = "application/json; charset=utf-8")
+ @PutMapping
@Operation(
tags = "Menu",
summary = "Update a menu",
- security = @SecurityRequirement(name = "bearerAuth"),
- description = "Update a menu with new information",
- responses = {
- @ApiResponse(
- responseCode = "200",
- description = "Success",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ResourceUpdatedResponse.class))),
- @ApiResponse(
- responseCode = "204",
- description = "No Content",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "400",
- description = "Bad Request",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "401",
- description = "Unauthorized, Access token is missing or invalid",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "403",
- description = "Forbidden, the user does not have permission to execute this operation",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class))),
- @ApiResponse(
- responseCode = "409",
- description = "Conflict, an item already exists",
- content =
- @Content(
- mediaType = "application/json",
- schema = @Schema(implementation = ErrorResponse.class)))
- })
+ description = "Update a menu with new information")
+ @UpdateAPIResponses
ResponseEntity updateMenu(
@Parameter(description = "Menu id", required = true) @PathVariable("id") UUID menuId,
@Valid @RequestBody UpdateMenuRequest body,
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceCreatedResponse.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceCreatedResponse.java
deleted file mode 100644
index 093b2842..00000000
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceCreatedResponse.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.amido.stacks.workloads.menu.api.v1.dto.response;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.UUID;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class ResourceCreatedResponse {
-
- @JsonProperty("id")
- private UUID id = null;
-}
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceUpdatedResponse.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceUpdatedResponse.java
deleted file mode 100644
index ced72f6e..00000000
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/dto/response/ResourceUpdatedResponse.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.amido.stacks.workloads.menu.api.v1.dto.response;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import java.util.UUID;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/** @author ArathyKrishna */
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class ResourceUpdatedResponse {
- @JsonProperty("id")
- private UUID id = null;
-}
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImpl.java
index fde6ec0c..8b3d93db 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImpl.java
@@ -1,8 +1,8 @@
package com.amido.stacks.workloads.menu.api.v1.impl;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.CreateCategoryController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.handlers.CreateCategoryHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
import java.util.UUID;
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImpl.java
index 358344d2..40a542ec 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImpl.java
@@ -1,8 +1,8 @@
package com.amido.stacks.workloads.menu.api.v1.impl;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.CreateItemController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.handlers.CreateItemHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
import java.util.UUID;
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImpl.java
index 70b7d74c..affe413b 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImpl.java
@@ -1,8 +1,8 @@
package com.amido.stacks.workloads.menu.api.v1.impl;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.CreateMenuController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.handlers.CreateMenuHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
import javax.validation.Valid;
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImpl.java
index f61624a4..0dce36eb 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImpl.java
@@ -2,9 +2,9 @@
import static org.springframework.http.HttpStatus.OK;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.UpdateCategoryController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.handlers.UpdateCategoryHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
import java.util.UUID;
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImpl.java
index 12dba3e6..13d6e62b 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImpl.java
@@ -1,8 +1,8 @@
package com.amido.stacks.workloads.menu.api.v1.impl;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.UpdateItemController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.handlers.UpdateItemHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
import java.util.UUID;
diff --git a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImpl.java b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImpl.java
index 2e522c2c..8fd34983 100644
--- a/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImpl.java
+++ b/java/src/main/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImpl.java
@@ -1,8 +1,8 @@
package com.amido.stacks.workloads.menu.api.v1.impl;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.UpdateMenuController;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.commands.UpdateMenuCommand;
import com.amido.stacks.workloads.menu.handlers.UpdateMenuHandler;
import com.amido.stacks.workloads.menu.mappers.RequestToCommandMapper;
diff --git a/java/src/main/resources/application.yml b/java/src/main/resources/application.yml
index 9965bbf0..3d231594 100644
--- a/java/src/main/resources/application.yml
+++ b/java/src/main/resources/application.yml
@@ -25,7 +25,7 @@ springdoc:
display-operation-id: true
# TODO: Swagger keeps redirecting, it'd be good to stop it if possible
path: /swagger/index.html
- packagesToScan: com.amido.stacks.menu.api
+ packagesToScan: com.amido.stacks.workloads.menu.api
api-docs:
groups:
enabled: true
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImplTest.java
index 052a2c8f..c12f82f5 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateCategoryControllerImplTest.java
@@ -12,8 +12,8 @@
import static org.springframework.http.HttpStatus.BAD_REQUEST;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.domain.Category;
import com.amido.stacks.workloads.menu.domain.Menu;
import com.amido.stacks.workloads.menu.repository.MenuRepository;
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImplTest.java
index c9640067..a7e59e7e 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateItemControllerImplTest.java
@@ -14,8 +14,8 @@
import static org.springframework.http.HttpStatus.NOT_FOUND;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.domain.Category;
import com.amido.stacks.workloads.menu.domain.CategoryHelper;
import com.amido.stacks.workloads.menu.domain.Item;
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImplTest.java
index 04f1fe6c..6359f9cc 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/CreateMenuControllerImplTest.java
@@ -9,8 +9,8 @@
import static org.mockito.Mockito.when;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.CreateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceCreatedResponse;
import com.amido.stacks.workloads.menu.domain.Menu;
import com.amido.stacks.workloads.menu.repository.MenuRepository;
import com.azure.spring.autoconfigure.cosmos.CosmosAutoConfiguration;
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImplTest.java
index fa994bdc..52da6182 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateCategoryControllerImplTest.java
@@ -17,8 +17,8 @@
import static org.springframework.http.HttpStatus.OK;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateCategoryRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.domain.Category;
import com.amido.stacks.workloads.menu.domain.Menu;
import com.amido.stacks.workloads.menu.repository.MenuRepository;
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImplTest.java
index abdef542..941c1109 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateItemControllerImplTest.java
@@ -16,8 +16,8 @@
import static org.springframework.http.HttpStatus.OK;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateItemRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.domain.Category;
import com.amido.stacks.workloads.menu.domain.Item;
import com.amido.stacks.workloads.menu.domain.Menu;
diff --git a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImplTest.java b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImplTest.java
index ea59bd7f..589175e3 100644
--- a/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImplTest.java
+++ b/java/src/test/java/com/amido/stacks/workloads/menu/api/v1/impl/UpdateMenuControllerImplTest.java
@@ -11,8 +11,8 @@
import static org.mockito.Mockito.when;
import com.amido.stacks.core.api.dto.ErrorResponse;
+import com.amido.stacks.core.api.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.api.v1.dto.request.UpdateMenuRequest;
-import com.amido.stacks.workloads.menu.api.v1.dto.response.ResourceUpdatedResponse;
import com.amido.stacks.workloads.menu.domain.Menu;
import com.amido.stacks.workloads.menu.repository.MenuRepository;
import com.azure.spring.autoconfigure.cosmos.CosmosAutoConfiguration;