前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串
- 
							
							
							
							
@J_an 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说: @核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说: @J_an 需要看你这个接口运行的时候看接口network接口里面具体的参数是什么样子 f12网络请求里是正常的json格式,我直接整个复制到本地调试都没问题 本地调试是这样:{ 
 "params1": "111",
 "params2": "111",
 "params3.aaa": "111",
 "params3.bbb": "111"
 }
 本地后端打印:
 {"aaa":"111","bbb":"111"}部署到平台是这样: 
  
 平台后台日志:
 map[aaa:111 bbb:111]
- 
							
							
							
							
代码是这样: 
 @Data
 public class TESTDTO implements Serializable {
 String params1;
 String params2;
 Map<String, String> params3 = new HashMap<>();public void setParams3(String params3) { System.out.println(params3); String json = params3.replace(" ", "").replace("<nil>", ""); JSONObject jsonObject = JSONObject.parseObject(json); jsonObject.forEach((k, v) -> { this.params3.put(k, (String) v); }); }} @GetMapping("/TEST") 
 public Result<?> TEST (TESTDTO testdto) {
 return Result.ok("");
 }
- 
							
							
							
							
直接用Map接收平台会打印报错这个是字符串: 
 Field error in object 'TESTDTO' on field 'params3': rejected value [map[aaa:111 bbb:111]]; codes [typeMismatch.TESTDTO.params3,typeMismatch.params3,typeMismatch.java.util.Map,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [TESTDTO.params3,params3]; arguments []; default message [params3]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Map' for property 'params3'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'java.util.Map' for property 'params3': no matching editors or conversion strategy found]
 
			
