Javalin IOJava:值为“ list”的路径参数“ id”不是有效的Long

问题描述

遇到Javalin中的一个问题,我的IntelliJ Idea IDE中的控制台输出正在输出一个400 HTTP错误代码,在该问题中尝试具有一个List<Long> id参数,该参数被称为尝试从名为WorkoutDAO.java的数据访问对象为其类Workout.java创建新实例时,只是其他类中的Long ID。

当前代码可以很好地编译,当我遍历出现400错误代码页面时,它只是一个错误

控制台中的Javalin输出以下内容

[qtp1226622409-20] INFO io.javalin.Javalin - JAVALIN REQUEST DEBUG LOG:
Request: GET [/workouts/list]
    Matching endpoint-handlers: [GET=/workouts/:id]
    Headers: {Cookie=JSESSIONID=node01ls164g1wqing5fm7jinkalm61.node0,Accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9,Connection=keep-alive,User-Agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/87.0.4280.20 Safari/537.36,Referer=http://localhost:7000/,sec-fetch-site=same-origin,Sec-Fetch-Dest=document,Host=localhost:7000,Accept-Encoding=gzip,deflate,br,sec-fetch-mode=navigate,sec-ch-ua="Google Chrome";v="87","\"Not;A\\Brand";v="99","Chromium";v="87",sec-ch-ua-mobile=?0,Upgrade-Insecure-Requests=1,Sec-Fetch-User=?1,Accept-Language=en-US,en;q=0.9}
    Cookies: {JSESSIONID=node01ls164g1wqing5fm7jinkalm61.node0}
    Body: 
    QueryString: null
    QueryParams: {}
    FormParams: {}
Response: [400],execution took 0.44 ms
    Headers: {Server=Javalin,Date=Thu,15 Oct 2020 08:39:45 GMT,Content-Type=text/plain}
    Body is 57 bytes (starts on next line):
    Path parameter 'id' with value 'list' is not a valid Long

我谁都知道该如何帮助我。那就太好了。

解决方法

要获得所有锻炼,应致电GET / workouts。假设它已实现。

要获得一个锻炼对象,必须在/ workouts之后传递ID,例如:GET / workouts / 1