885 B
885 B
问题 本质原因 访问 POST 接口用 GET,路径又模糊匹配 Spring 把你写的 testMethod 误当成其他接口的参数,比如 {id},尝试类型转换失败 预期 405 报错却看到类型转换失败 是路径匹配到了别的接口,没走到你定义的方法 解决办法 用正确的请求方式 / 添加明确前缀 / 避免通配路径冲突
现在有这个一个方法
@GetMapping("{id}")
public Result<Course> queryById(@PathVariable("id") Integer id) {
return Result.success(courseService.getById(id));
}
我又写了一个方法
@PostMapping("/testMethod")
public void testMethod(@RequestParam(name = "page") Long pageNum){
}
然后我请求
GET http://localhost:8084/bs/courses/testMethod?page=1
请求其实走到了上面
Spring 的路径匹配是优先按 URL 结构匹配,方法类型(GET/POST)其次。