【接口参数解析BUG】SpringMVC接口参数解析

今天遇到一个BUG,前端传递数字数组时,后端使用字符串类型去接收,结果无法接收到,代码如下

问题:

GET请求:

前端:

  configJsonArr:[1,2]

后端:

  private String configJsonArray;

后端将数组封装到字符串内,使用JsonArray去解析

最后发现问题所在,请求行(数组内无法传递数字,只能传递字符串)

解决方案:

最后修改为:

前端传递:

  configJsonArr:[“1”,“2”]

后端:

  private String configJsonArray;

原文地址:https://www.cnblogs.com/july-sunny/p/12590427.html

时间: 2024-11-08 00:53:10

【接口参数解析BUG】SpringMVC接口参数解析的相关文章

记一次 springboot 参数解析 bug调试 HandlerMethodArgumentResolver

情况描述 前端输入框输入中文的横线 -- ,到后台接收时变成了 &madsh;$mdash 正常应该显示成这样: bug调试思路记录 最开始完全没有向调试源码方面想,试了不少方法,都没解决,没办法了只能源码跟踪排查问题. 想着那个类是解析参数的?加个断点调试下就清除了,问题是不清楚到底是哪个类.so,search --- 开始 步骤1:搜索一下 : spring 参数解析 结果很多,看了很多博文之后,参考博客地址 发现了 HandlerMethodArgumentResolver 这里有两个函数

基于Java+HttpClient+TestNG的接口自动化测试框架(四)-------参数存取处理

在真正开始接口测试之前,我们需要对参数的处理进行梳理.这里所说的“参数”,既包含之前在xml中的配置(我们称之为全局参数),也包含在每一条用例中书写的param.全局参数为固定不变的,而根据接口相应获取的数据是动态变化的. 之前我们已经用${param_name}的形式,定义了如何从公共参数池中调用所需要的参数. 并且当一个接口的请求发送完成,进行下一个接口操作的时候,我们也需要对相应的数据进行处理.例如,前面一个接口的响应中出现了下一个接口需要使用的数据,比如id,password,token

JDK1.8新特性(二): Lambda表达式 (参数列表) -> { } 和函数式接口@FunctionalInterface

Lambda表达式 二:简介 JDK的升级的目的有以下几个:增加新的功能.修复bug.性能优化.简化代码等几个方面,Lambda表达式就是属于简化代码,用于简化匿名实现类,提供一种更加简洁的写法.Lambda表达式在Swift语言中称之为代码块,Lambda表达式可以认为是一种特殊的接口,该接口必须只有一个抽象方法. 语法 (参数类型 参数名, 数参数类型 参数名2...) -> { // code }; 小括号()中的内容就是方法中的参数列表包括参数类型.参数名,其中参数类型是可以省略的,当参

【Python】 配置解析ConfigParser & 命令行参数解析optparser

ConfigParser ConfigParser包装了配置文件的读取和写入,使得python程序可以更加轻松操作配置文件了.这里的配置文件是指.ini的那种文件,基本格式如下 [section_a] a_key1 = a_value1 a_key2 = a_value2 [section_b] b_key1 = b_value1 b_key2 = b_value2 b_key3 = b_value3 将一个文件分隔成几个section,每个section中又有很多键值对,以这样的方式构建起配置

MFC解析启动命令行参数——CCommandLineInfo类

MFC中CCommandLineInfo类被用于分析启动应用时的命令行参数. MFC应用一般都会在它的应用对象中使用函数InitInstance()创建这个类的一个本地实例.然后把该对象传给CWinApp::ParseCommandLine(),ParseCommandLine()又重复调用ParseParam()填充CCommandLineInfo对象.最后,CCommandLineInfo对象被传给CWinApp::ProcessShellCommand()来处理命令行参数和选项.所以我们会

第8章2节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-解析处理命令行参数

MonkeyRunnerStarter是MonkeyRunner启动时的入口类,因为它里面包含了main方法.它的整个启动过程主要做了以下几件事情: 解析用户启动MonkeyRunner时从命令行传输进来的参数: 因为MonkeyRunner需要根据指定的参数才能做事情,比如输入的一个需要执行的脚本.如果确实不知道任何参数的话它就会进入MonkeyRunner的交互模式,其实就是Jythong的交互模式,让用户可以边写代码边执行 启动AndroidDebugBridge: 其实就是启动ADB服务

以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂

以麦当劳,肯德基优惠券接口数据为例进行的数据解析方法,简单易懂,这是我个人觉得是一种比较简单易懂的json数据解析方法: 看下其中一个类的代码 package com.example.text_json_deno_model; import java.util.ArrayList; import java.util.List; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject;

django rest framework 解析器组件 接口设计,视图组件 (1)

一.解析器组件 -解析器组件是用来解析用户请求数据的(application/json), content-type 将客户端发来的json数据进行解析 -必须适应APIView -request.data触发 二.序列化组件 2.1.django 自带组件serializer 2.1.1 from django.serializers import serialize2.1.2 origin_data = Book.objects.all()2.1.3 serialized_data = se

springmvc请求参数异常统一处理,结合钉钉报告信息定位bug位置

参考之前一篇博客:springmvc请求参数异常统一处理 1.ExceptionHandlerController package com.oy.controller; import java.text.MessageFormat; import java.util.ResourceBundle; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.TypeMismatchException

5.通过参数注解多个接口参数的用法

一.参数注解 遇到多个参数,因为不能因为两三个参数去创建新的JavaBean类,对于参数比较少的情况下可以使用@Param注解. UserMapper.java package tk.mybatis.simple.mapper; import org.apache.ibatis.annotations.Param; import tk.mybatis.simple.model.SysRole; import tk.mybatis.simple.model.SysUser; import java