【发布时间】:2021-12-08 12:32:15
【问题描述】:
我是 SB 的新手,正在努力提高我的技能。我做了一个小API项目,其中我有账户余额属性的帐号,该项目的目标是将账户余额属性中的金额与相应的帐号相加。
我被困在我需要从实际上不是任何类的一部分的数量变量中获取价值的地步。如果您认为标题不符合主题,任何人都可以更改标题。 我在下面提到的课程,你会发现我的努力是无用的,因为它似乎一团糟。 如果有人能纠正或给我相同问题所在的参考堆栈,我将不胜感激。
帐户.java
private Long id;
private int accountNumber;
private BigDecimal accountBalance;
帐户存储库
public interface AccountDao extends CrudRepository<Account, Long> {
Account findByAccountNumber(int accountNumber);
}
账户服务
public interface AccountService {
void deposit(int accountNumber, String accountType, double amount);
} // these fields are not related to class field, I took this to send data to API
AccountServiceImpl
public void deposit(String accountType, int accountNumber, double amount) {
if (accountType.equalsIgnoreCase("Permanent")) {
Account account = accountRepository.findByAccountNumber(accountNumber);
account.setAccountBalance(account.getAccountBalance().add(new
BigDecimal(amount)));
accountDao.save(account);
帐户控制器
@PostMapping("/deposit")
public ResponseEntity<Object> depositPost(@RequestBody double amount, String accountType,
int accountNumber, Account account){
accountService.deposit(accountType, accountNumber,
Double.parseDouble(String.valueOf(amount)));
return ResponseEntity.ok("Record has been entered");
}
我收到的错误是:
2021-10-21 20:19:58.660 WARN 22892 --- [nio-8088-exec-1]
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved
[org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error:
Cannot deserialize value of type `double` from Object value (token
`JsonToken.START_OBJECT`); nested exception is
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of
type `double` from Object value (token `JsonToken.START_OBJECT`)
at [Source: (PushbackInputStream); line: 1, column: 1]]
【问题讨论】:
-
谢谢,但我更想知道如何从变量中获取值。例如,可变金额解析为 100,我需要将其添加到 accountBalance 属性中
-
不客气,您收到的消息是关于解析 json 错误,您能否添加一个发送给控制器的 json 示例消息?
标签: java spring-boot