在请求后端接口时接口地址、请求参数和请求头均保持一致的时候报找不到某个参数的错误

问题背景

在进行搭建系统前端界面之后,添加 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/在请求后端接口时接口地址、请求参数和请求头均保持一致的时候报找不到某个参数的错误/
作者
sunshine
发布于
2021年8月15日
许可协议