爱新觉罗·胤禩 2021-04-15 13:46 采纳率: 28.6%
浏览 348
已采纳

spring 项目 String 转换 Long 异常

evaluationId传入三位数的可以,超过四位数就不行了。

错误

13:41:12 DEBUG [http-nio-80-exec-8] o.s.w.s.DispatcherServlet - POST "/enjoy", parameters={masked}
13:41:12 DEBUG [http-nio-80-exec-8] o.s.w.s.m.m.a.RequestMappingHandlerMapping - Mapped to com.imooc.reader.controller.MemberController#valuation(Long)
13:41:12 DEBUG [http-nio-80-exec-8] o.s.web.method.HandlerMethod - Could not resolve parameter [0] in public java.util.Map com.imooc.reader.controller.MemberController.valuation(java.lang.Long): Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "2,000"
13:41:12 WARN  [http-nio-80-exec-8] o.s.w.s.m.s.DefaultHandlerExceptionResolver - Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "2,000"]
13:41:12 DEBUG [http-nio-80-exec-8] o.s.w.s.DispatcherServlet - Completed 400 BAD_REQUEST

Ajax提交

  //评论点赞
            $("*[data-evaluation-id]").click(function () {
                let evaluationId = $(this).data("evaluation-id");
                $.post("/enjoy", {evaluationId: evaluationId}, function (json) {
                    if (json.code == "0") {
                        $("*[data-evaluation-id='" + evaluationId + "'] span").text(json.evaluation.enjoy);
                    }
                }, "json")
            })

MemberController

    @PostMapping("/enjoy")
    @ResponseBody
    public Map valuation(Long evaluationId) {
        System.out.println("类型:" + evaluationId.getClass() + "值:" + evaluationId);
        Map result = new HashMap();
        try {
            Evaluation evaluation = memberService.enjoy(evaluationId);
            result.put("code", "0");
            result.put("msg", "success");
            result.put("evaluation", evaluation);
        } catch (BussinessException e) {
            e.printStackTrace();
            result.put("code", e.getCode());
            result.put("msg", e.getMsg());
        }
        return result;
    }
  • 写回答

5条回答 默认 最新

  • li.siyuan 2021-04-15 13:53
    关注

    你检查一下 你传过来的 请求参数 long类型的值  里面带了逗号没有

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择