解决Request method ‘GET‘ is not supported问题

很多同学在调试接口时,会遇到这个问题,到处找原因,其实这个是接口匹配问题,请往下看。

项目环境

项目使用Spring Boot 3.x, JDK 17, Mybatis。

问题描述

在用ApiFox进行接口调试时,明明是Get请求,后台也是Get请求。
在这里插入图片描述后台接口定义如下:

@RestController
@RequestMapping("/api/approval-chains")
public class ApprovalChainController {

  @Autowired
  private ApprovalChainService approvalChainService;

  @GetMapping("/{id}")
  public ApprovalChainDTO getApprovalChain(@PathVariable Long id) {
    return approvalChainService.getApprovalChain(id);
  }
}

但是Spring就是会报“Request method ‘GET’ is not supported”。查了很多解决方案都不行,其实很简单

解决办法

仔细看请求链接:

http://localhost:8080/api/approval-chains?id=1

它其实是Param的形式,但是后台接口定义:

@RequestMapping("/api/approval-chains")
 @GetMapping("/{id}") // 这里省略其他

接口其实是需要这样一个请求:
http://localhost:8080/api/approval-chains/1

所以,看清楚了吧,不论改哪边都行。

我的解决办法 :

  @GetMapping
  public ApprovalChainDTO getApprovalChain(@RequestParam(value = "id") Long id) {
    return approvalChainService.getApprovalChain(id);
  }

谢谢~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洲上牧童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值