我有一个带有引导服务的springboot应用程序。我的一项服务接受带有@requestBoday批注的对象作为参数。以前,我的类变量之一是Long
类型,现在转换为String
。例如:
上一课:
Class SomeObject{
String id;
Long code;
}
我已转换为:
Class SomeObject{
String id;
String code;
}
现在,当我传递“ 4568”或类似数字值时,它可以正常工作。 但是当我通过“ ABC100”时,它将引发数字格式异常。
[ERROR] 2019-05-13 11:10:17,031 com.wallet.config.AOPConfiguration afterExceptionOfService - execution of execution(Map com.wallet.service.MemberService.redeemVoucher(String,ReferalVoucherRedeem))--------java.lang.NumberFormatException: For input string: "SB100"
[ERROR] 2019-05-13 11:10:17,031 com.wallet.config.AOPConfiguration afterException - execution of execution(ResponseEntity com.wallet.controller.PosIntegrationController.redeemVoucher(ReferalVoucherRedeem,ServletRequest))--------java.lang.NumberFormatException: For input string: "SB100"
谁能告诉我该如何解决?此问题发生在以下行:
public ResponseEntity<Map> redeemVoucher(@RequestBody SomeObject someObject,ServletRequest req) {}
答案 0 :(得分:-2)
您在此处输入的“代码”值可能会转换为数字值,如果不是由于数据库的列类型而导致的话,则可能会转换为数字值。该代码必须在假设“代码”为数字(之前是数字)的情况下编写。通过查看完整的跟踪信息,您也许可以了解其起源。
请参阅本文-NumberFormatException