报错-Missing URI template variable 'xxx' for method parameter of type Long

起因

使用postman测试后端接口

{
    "timestamp": "2020-11-18T11:28:51.219+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Missing URI template variable 'xxx' for method parameter of type Long",
    "path": "/spec/params"
}

服务器异常,出现“丢失long类型的方法参数的链接模板值xxx”错误

原因

使用了@PathVariable注解,但没有使用RestFul风格写法

解决方案

 // @GetMapping("/params")  原写法
 @GetMapping("/params/{xxx}")

梳理@RequestParma/@PathVariable

相同点

两者都可以获取参数,都可以设置参数是否为必填和默认值

不同点

@RequestParam是真的只能请求参数
@PathVariable是参数变量,用范围更宽广,可以使用正则,将url分割为参数,而不仅仅是获取请求中携带的参数,可以应用于url匹配

例如项目中匹配不同url但是具有相同模式的服务接口

posted @   lifelikeplay  阅读(3818)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示