We need an inbound port for actions entering the application, and an outbound port for saving data.
public User findById(Long id) return userRepository.findById(id); We need an inbound port for actions entering
package com.example.myapp.infrastructure.adapters.inbound; import com.example.myapp.domain.model.Order; import com.example.myapp.ports.inbound.CreateOrderUseCase; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; @RestController @RequestMapping("/orders") public class OrderRestController private final CreateOrderUseCase createOrderUseCase; public OrderRestController(CreateOrderUseCase createOrderUseCase) this.createOrderUseCase = createOrderUseCase; @PostMapping public ResponseEntity create(@RequestParam BigDecimal amount) Order order = createOrderUseCase.createOrder(amount); return ResponseEntity.ok(order); Use code with caution. Use code with caution.