@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an todesk 或者向日葵也行
我的识别码:1811944067
tq3dh0
使用向日葵即可对我发起远程协助
向日葵下载地址:http://url.oray.com/tGJdas/
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an todesk 或者向日葵也行
我的识别码:1811944067
tq3dh0
使用向日葵即可对我发起远程协助
向日葵下载地址:http://url.oray.com/tGJdas/
@admin 是这样的
time=2024-12-17T16:22:37.247+08:00 level=DEBUG msg="请求: test 请求: {Method:GET Url:http://traefik:80/duty/detection/TEST Timeout:0 Params:map[params1:111 params2:111 params3:map[aaa:111 bbb:111]] Headers:map[] Auth:<nil> Body:<nil>}" logType=syslog service=data-source module=调用接口 projectId=6551b5b259e0436a84d557fc
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an 这样的 话 就是 http://ip:port/aab?params1=11¶ms2=111¶ms3={"a":1} 这种格式 实际发的时候会有 url 编码
那应该和本地postman一样呀,postman也是json格式url传,主要是map[aaa:111 bbb:111]这种格式太奇怪了,什么原因才会出现这种
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an params 使用的是query 还是path 发截图看看
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
是这里吗
get 没有限制
是的,我们平时都用params,你这里怎么有type和format,我们版本老了吗
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an
参数只是这个接口配置用到的
params里不行吗,为什么body配置了后端用@requestBody还是报miss body,为什么body里绑定不了上面配的对象参数,转到手动编写变成空对象
@admin 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an
数据接口的配置发一下截图,有没有前置脚本等,请求体等
没有脚本和body,get请求,只配了参数
直接用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]
代码是这样:
@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("");
}
@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]
@核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
@J_an 需要看你这个接口运行的时候看接口network接口里面具体的参数是什么样子
f12网络请求里是正常的json格式,我直接整个复制到本地调试都没问题
@核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
有外网地址吗?发一下我看看呢
已经不按照这个结构写了,只是想知道平台转发怎么会这样
@核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
你直接在数据接口运行 参数直接输入对象,返回的内容是否正确?
也是不行的,我甚至希望它能强转字符串,实际上即使定义为字符串,画面绑定对像后就按照对象格式自动变为那个奇怪的格式了
@核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
请问是如何调用接口?后端是是指从那里打印?最好是配上截图这样好理解一些
本地postman调试完全没问题,一上平台就不行,解析不了这个对象
@核桃酥 在 前端通过平台接口为参数绑定对象,后端收到打印出来的确实这样一个奇怪的字符串 中说:
请问是如何调用接口?后端是是指从那里打印?最好是配上截图这样好理解一些
在画面的数据源里调用,绑定的画面变量里的一个对象,后端日志窗口打印出来的,用一个实体类接收的参数
map[cityAreaId:"" cityId:"" communityId:"" provinceId:"" subdistrictId:""]