Spring @RequestBody Mapping 将所有属性映射到干净的驼峰式 POST Postman 请求中的空值

Spring @RequestBody Mapping maps all attributes to null values from clean camelCase POST Postman request

我有一个用 Spring 制作的后端。 在我的一个控制器中,我有一个 POST 请求,它从已实现的 DTO 接收数据。 我在 Lombok 中使用了 @Data 注释,问题不在于此……因为我也尝试过不使用它,但它也不起作用。 当我从 Postman 发送一个 POST 请求并使用 camelCase 格式的干净 Json 时,我的控制器从我的 DTO 接收到“空”数据......我不明白为什么。 你能给点建议或帮助吗? 谢谢

我的 DTO

import lombok.Data;

@Data
public class TransactionSendPaymentToSomeOneDto {

  private String connectionEmail;
  private String connectionFirstname;
  private String connectionLastname;
  private String connectionIban;
  private String descriptionTransaction;
  private Double amountSendMoneyValue;

}

我的控制器

@Slf4j
@RestController
@CrossOrigin("http://localhost:4200")
@RequestMapping("/transactions")
public class TransactionController {

  @Autowired
  private TransactionService transactionService;

  @PostMapping("/{idUserSessionEnv}/payment")
  public ResponseEntity<Transaction> sendPaymentToSomeone(@PathVariable("idUserSessionEnv") Long idUserSessionEnv, @RequestBody TransactionSendPaymentToSomeOneDto selectedSendMoneyValue){
    try{
      log.info("RECEIVING DATA FROM FRONT-END: ID USER = "+idUserSessionEnv +" IBAN = " + selectedSendMoneyValue.getConnectionIban() + "  AMOUNT TRANSACTION = "+ selectedSendMoneyValue.getAmountSendMoneyValue());
      return ResponseEntity.ok(transactionService.sendPaymentToSomeone(idUserSessionEnv, selectedSendMoneyValue));
    }catch (NoSuchElementException nse){
      return ResponseEntity.noContent().build();
    }
  }

您是否尝试在@PostMapping("/{adUser SessionEnv}/payment") 下面添加 @ResponseBody

您发送了错误的负载。

正确的有效载荷如下所示:

{
    "connectionEmail":"axel@axel.com",
    "connectionFirstname":"Axel",
    "connectionLastname":"Vega",
    "connectionIban":"2222",
    "amountSendMoneyValue":999,
    "descriptionTransaction":"Essai de transaction"
}