Nerozpoznaný token "Platba": očekával (JSON Řetězec, Číslo, Pole, Objektu nebo token 'null', 'true' nebo 'false')

0

Otázka

Pracuji dva Jarní Boot microservices (objednávky a platby) pomocí H2 databáze, aby microservice hovory platebních služeb prostřednictvím RestTemplate pokaždé, když jsem knihu objednat pomocí pošťák platebních služeb se nazývá úspěšně a data jsou uložena v platební DB, ale ne v pořadí, servis a přijímám výše uvedené chyby:

tady je můj kód

služby

public TransactionResponse saveOrder(TransactionRequest request) {
    String responseMessage = "";
    Order order = request.getOrder();
    Payment payment = request.getPayment();
    payment.setOrderId(order.getId());
    payment.setAmount(order.getPrice());
    // response message
    System.out.println(order);
    // rest api call to payment service
    Payment paymentResponse =
           restTemplate.postForObject("http://localhost:8082/api/payment", payment, Payment.class);

    responseMessage = paymentResponse.getPaymentStatus().equals("success")?
           "payment processed successfully": "payment failed ";
    orderRepository.save(order);
    System.out.println(paymentResponse);

    return new TransactionResponse(order , paymentResponse.getTransactionId() , paymentResponse.getAmount(), responseMessage);
}

Regulátor

@PostMapping
public TransactionResponse bookOrder(@RequestBody TransactionRequest transactionRequest) {
    return orderService.saveOrder(transactionRequest);
}

Transakce Žádost model

@Data
@AllArgsConstructor
@NoArgsConstructor
public class TransactionRequest  {
  private Order order;
  private Payment payment;
}

platební model

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Payment {
    private int paymentId;
    private String paymentStatus;
    private String transactionId;
    private double amount;
    private int orderId;
}

obrázky

the error iam recieving

postman request

h2 jackson java postman
2021-11-22 09:06:38
1

Nejlepší odpověď

1

mám problém, protože jsem dělal zbytek volání api platebních služeb, metoda post platebních služeb se vrací řetězec namísto Platby objektu.

to byl můj příspěvek, způsob platby, než:

@PostMapping
public String orderPayment(@RequestBody Payment payment) {
   paymentService.doPayment(payment);
   return "Payment done";
}

to je to, co je, jak to má být

@PostMapping
public Payment orderPayment(@RequestBody Payment payment) {
   return paymentService.doPayment(payment);
}

poznámka: návratový typ

2021-11-22 13:55:42

Nyní chápete, proč je tak důležité, aby přidat VŠECHNY odpovídající kód na vaše dotazy ;)
João Dias

@JoãoDias ano díky za tvoji pomoc člověka
Ahmed Hosny

Zvážit přijetí vaše vlastní odpověď tak, že vaše otázka může být "zavřená" ;) Díky!
João Dias

jeho mi dává 20 hodin, přijmout své já určitě dělat, že
Ahmed Hosny

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................