我试图通过postman rest客户端,使用json数据和POST方法测试后端服务。
前2个参数是数组列表,其余都是字符串或整数我传递的数据如下:
{
"watchUsers":["user1"],
"msgUsers":["user2"],
"status":1,
"sendTime":319876,
"compId":"turbo",
"workId":"ts",
"startId":"engine",
"endId":"restore",
"msg":"Completed Successfully"
}
我的控制器接受以下内容:
public WatchDTO add(@RequestBody ArrayList<String> watchUsers,@RequestBody ArrayList<String> msgUsers, Integer status, Integer sendTime, String compId, String workId, String startId, String endId, String msg){
.....
}
提交后,我得到以下错误:组织。springframework。http。转换器。HttpMessageNoteableException:无法读取JSON:无法反序列化java实例。util。ArrayList out of START_OBJECT token位于[源:org.apache.catalina.connector]。CoyoteInputStream@4c352e08; 行:1,列:1];嵌套异常为org。科德豪斯。杰克逊。地图JsonMappingException:无法反序列化java实例。util。ArrayList out of START_OBJECT token位于[源:org.apache.catalina.connector]。CoyoteInputStream@4c352e08; 行:1,列:1]
知道如何传递数组吗
定义java bean如下-
<代码>
import java.util.ArrayList;
public class UserStat {
ArrayList<String> watchUsers;
ArrayList<String> msgUsers;
int status;
int sendTime;
String compId;
String workId;
String startId;
String endId;
String msg;
public ArrayList<String> getWatchUsers() {
return watchUsers;
}
public void setWatchUsers(ArrayList<String> watchUsers) {
this.watchUsers = watchUsers;
}
public ArrayList<String> getMsgUsers() {
return msgUsers;
}
public void setMsgUsers(ArrayList<String> msgUsers) {
this.msgUsers = msgUsers;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getSendTime() {
return sendTime;
}
public void setSendTime(int sendTime) {
this.sendTime = sendTime;
}
public String getCompId() {
return compId;
}
public void setCompId(String compId) {
this.compId = compId;
}
public String getWorkId() {
return workId;
}
public void setWorkId(String workId) {
this.workId = workId;
}
public String getStartId() {
return startId;
}
public void setStartId(String startId) {
this.startId = startId;
}
public String getEndId() {
return endId;
}
public void setEndId(String endId) {
this.endId = endId;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
修改控制器内的方法如下-
公共WatchDTO添加(@Request estBody UserStat userStat){
}
这应该可以
根据CloudFront的文档(https://docs.aws.amazon.com/amazoncloudfront/latest/developerguide/requestandresponseBehaviorCustomOrigin.html),客户端IP可以是头的前面、中间和结尾。 是Rignt吗?那我怎么才能得到真正的客户端IP呢?
我正在写一个小小的短信网关,供几个项目使用, 我实现了laravel passport身份验证(客户端凭据授予令牌) 然后,我向api中间件组添加了: 逻辑工作正常,现在在我的控制器中,我需要让客户机与有效令牌关联。 routes.php 出于明显的安全原因,我无法将客户端id与消费者请求一起发送,例如,
如何通过API向数据源/主报表传递参数? 附加问题:是否可以将此参数/参数添加到计划报表中?
问题内容: req.connection.remoteAddress,req.headers [‘x-forwarded- for’],req.ip,req.ips,这是什么意思? 是否有一种简单的方法可以简单地获取在Node.js / Express中向我的站点发出请求的客户端/用户代理的IP地址?我不了解所有代理内容,也不了解req对象的所有属性之间的所有区别。另外,我不了解Express的“
问题内容: 这是我的带有json响应的模型: 在这里,我通过http.request得到它。为什么我接收(数据)字符串而不是json? 如何获取json? 问题答案: http以字符串形式发送/接收数据…这就是事实。您正在寻找将该字符串解析为json。
我有一个Web角前端,API网关受Cognito和Lambda保护,用于其他业务用例。登录和授权工作正常。我正在使用AWS Javascript SDK进行授权。像https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdf 在我的lambda中,我需要获得其他用户的信息,如名字、