feign验签不通过,但是postman没问题

测试一个外部api的时候发现,同样的签名方法和payload,放在postman请求完全没问题,curl也能通过,但是到了feign就签名错误。

百思不得其解,后来发现了问题。

计算签名的时候,payload使用的格式是

java 复制代码
{"enterpriseId": "576588586871871450"}

但是,在feign传参数的时候,因为body是json,会进行序列化,变成

java 复制代码
{
    "enterpriseId": "576588586871871450"
}

加入了换行和缩进,类似于postman里边的beautify一键格式化。

实测,beautify之后postman也验签不通过了。

而feign是@Headers这种指定header而不是拦截器的方式,计算签名用的是jsonObject,所以导致二者对不上,签名不通过。

正确的做法就应该是,feign的计算签名这些都通过拦截器来实现,从拦截器里边取出来payload或者body。这样才能保证计算签名时候使用的数据格式和feign传输的完全一样。

相关推荐
小陈的进阶之路1 小时前
AI接口测试
测试工具
小陈的进阶之路3 小时前
postman-mcp-server
测试工具·lua·postman
川石课堂软件测试6 小时前
requests接口自动化测试
数据库·python·功能测试·测试工具·单元测试·grafana·prometheus
emilyhu20268 小时前
测试工具fiddler抓包后Response的乱码问题解决方式汇总
测试工具·fiddler
我的xiaodoujiao8 小时前
API 接口自动化测试详细图文教程学习系列12--Requests模块4--测试实践操作
python·学习·测试工具·pytest
LT10157974449 小时前
2026年云测试平台选型指南:全场景真机与自动化技术实测
测试工具·自动化
流氓也是种气质 _Cookie18 小时前
Wireshark在Windows XP系统上的安装与使用指南
windows·测试工具·wireshark
MegaDataFlowers1 天前
基于EasyCode插件的SpringBoot和Mybatis框架快速整合以及PostMan的使用
spring boot·mybatis·postman
ZLG_zhiyuan1 天前
竞逐“芯”赛道:CAN分析仪如何成为芯片行业高效测试工具?
测试工具