在请求后端接口时接口地址、请求参数和请求头均保持一致的时候报找不到某个参数的错误
问题背景
在进行搭建系统前端界面之后,添加 axios 消息进行 nacos 后台访问获取数据。
问题描述
在保证 nacos 服务正常运行、接口地址保持一致、携带参数保持一致、请求头参数保持一致以及 postman 软件进行接口测试也成功的前提下,报找不到某个参数的问题。
问题分析
在看到问题后,分析如下
- 查看
nacos服务是否挂掉了?(没有挂掉,正常运行) - 接口地址、携带参数是否与
postman软件保持一致?(与postman核对过,保持一致) - 请求头参数是否有额外变动?(没有,Content-Type的类型也是默认
application/x-www-form-urlencoded格式)
解决方法
经过上网冲浪之后发现,axios 框架的请求数据编码方式默认是 JSON,但查看 nacos 控制台请求后端接口请求时却发现它的编码方式是字符串。
差别如下,下图是系统前端界面所发出的请求数据格式:
下图是 nacos 控制台所发出的正确请求数据:
在得到差异之后,前往 axios 官网寻求解决方法
在自己代码中 axios 的携带数据进行修改,使用 qs 库进行携带数据的编码,结果可以访问接口成功,至此问题解决。
在请求后端接口时接口地址、请求参数和请求头均保持一致的时候报找不到某个参数的错误
https://sunshinechen.cn/2021/08/15/在请求后端接口时接口地址、请求参数和请求头均保持一致的时候报找不到某个参数的错误/