微服务之间调用get请求(未加@SpringQueryMap注解)

博客讲述了在微服务调用中,由于GET请求缺少特定注解,导致请求被误解析为POST操作,进而执行了错误的方法。问题在于未使用`@SpringQueryMap`注解,使得请求参数没有正确映射,调用了更新方法而非预期的查询方法。此错误引发了数据库更新操作但未产生实际更新,提醒开发者注意API请求的正确性和注解的使用。
摘要由CSDN通过智能技术生成

  需要调用的API中的方法为:   注意没有@SpringQueryMap注解


  @GetMapping("/getCompanyAuth")
 @ApiOperation("--------")
 ResultVO<PageList<CompanyAuthVO>> getCompanyAuth(final ApplicationOpenManagementDTO dto);

调用时竟然调用了该api的一个POST方法  @PostMapping("/{id}")
控制台如下:
 


{"type":"request", "msg":"/companyauths/{id}", "data":{"requestId":"21bb9cef5722bcb5","ip":"192.168.14.135","url":"http://192.168.14.135:7777/companyauths/getCompanyAuth","method":"POST","body":"{\"pageNum\":1,\"pageSize\":9999,\"companyAuthId\":null,\"appName\":null,\"companyName\":null,\"contacts\":null,\"audit\":null}","beanName":"SysCompanyAuthController#update"}}
[2022-11-14 15:24:29.132] [cunw-usercenter-server] [local] [DEBUG] [21bb9cef5722bcb5,4030bc8b775440b8,21bb9cef5722bcb5,false] [13540] [nio-7777-exec-1] [org.apache.ibatis.logging.jdbc.BaseJdbcLogger:debug:143] ==>  Preparing: UPDATE sys_company_auth SET update_date=? WHERE id=? 
[2022-11-14 15:24:29.137] [cunw-usercenter-server] [local] [DEBUG] [21bb9cef5722bcb5,4030bc8b775440b8,21bb9cef5722bcb5,false] [13540] [nio-7777-exec-1] [org.apache.ibatis.logging.jdbc.BaseJdbcLogger:debug:143] ==> Parameters: 2022-11-14 15:24:29.009(Timestamp), getCompanyAuth(String)
[2022-11-14 15:24:29.168] [cunw-usercenter-server] [local] [DEBUG] [21bb9cef5722bcb5,4030bc8b775440b8,21bb9cef5722bcb5,false] [13540] [nio-7777-exec-1] [org.apache.ibatis.logging.jdbc.BaseJdbcLogger:debug:143] <==    Updates: 0

总结:微服务之间get请求调用 没有@SpringQueryMap注解 则会当成一个POST请求处理
把 @GetMapping("/getCompanyAuth")中的getCompanyAuth当成了@PostMapping("/{id}")中的id处理了

2023-04-20:

get方法没有加@SpringQueryMap注解,不跳到对应的serviceImpl类的断点。另一个服务调用时直接返回null

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值