package de.juplo.kafka.payment.transfer.controller;
-import de.juplo.kafka.payment.transfer.api.Transfer;
-import de.juplo.kafka.payment.transfer.impl.TransferServiceImpl;
+import de.juplo.kafka.payment.transfer.domain.Transfer;
+import de.juplo.kafka.payment.transfer.domain.TransferService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
{
public final static String PATH = "/transfers";
- private final TransferServiceImpl service;
+ private final TransferService service;
@PostMapping(
path = PATH,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
- public ResponseEntity<?> transfer(@Valid @RequestBody Transfer transfer)
+ public ResponseEntity<?> transfer(@Valid @RequestBody TransferRequest transferRequest)
{
+ Transfer transfer =
+ Transfer
+ .builder()
+ .id(transferRequest.getId())
+ .payer(transferRequest.getPayer())
+ .payee(transferRequest.getPayee())
+ .amount(transferRequest.getAmount())
+ .build();
+
service.initiate(transfer);
- return ResponseEntity.created(URI.create(PATH + transfer.getId())).build();
+
+ return ResponseEntity.created(URI.create(PATH + transferRequest.getId())).build();
}
}