MicronautOrderController

Micronaut HTTP controller for the order-service inbound web adapter.

This controller exposes order-related HTTP endpoints and delegates business operations to application inbound ports. It is responsible for:

  • validating incoming request payloads at the HTTP boundary

  • mapping DTOs to domain objects and commands

  • throwing domain/http exceptions handled by ExceptionHandlers

The controller intentionally avoids domain logic so the application and domain layers remain independent from transport concerns.

Constructors

Link copied to clipboard
constructor(services: OrderServices)

Functions

Link copied to clipboard
@Post(value = "advance")
open override fun advanceOrderStatus(@Body request: AdvanceOrderStatusRequest): HttpResponse<AdvanceOrderStatusResponse>

Handles POST orders/advance.

Link copied to clipboard
@Delete(value = "{id}")
open override fun discardOrder(@PathVariable id: String): HttpResponse<DiscardOrderResponse>

Handles DELETE orders/{id}.

Link copied to clipboard
@Get(value = "{id}")
open override fun getOrderDetails(@PathVariable id: String): HttpResponse<GetOrderDetailsResponse>

Handles GET orders/{id}.

Link copied to clipboard
@Post(value = "place")
open override fun placeOrder(@Body request: PlaceOrderRequest): HttpResponse<PlaceOrderResponse>

Handles POST orders/place.

Link copied to clipboard
@Patch(value = "delivery")
open override fun updateDeliveryOrderInfo(@Body request: UpdateDeliveryOrderRequest): HttpResponse<UpdateDeliveryOrderResponse>

Handles PATCH orders/delivery.

Link copied to clipboard
@Patch(value = "items")
open override fun updateOrderItems(@Body request: UpdateOrderItemsRequest): HttpResponse<UpdateOrderItemsResponse>

Handles PATCH orders/items.

Link copied to clipboard
@Patch(value = "takeaway")
open override fun updateTakeawayOrderInfo(@Body request: UpdateTakeawayOrderRequest): HttpResponse<UpdateTakeawayOrderResponse>

Handles PATCH orders/takeaway.