爱新觉罗·胤禩 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条)

报告相同问题?

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助