我有一个对象,它的属性是一个List。我想把这个对象从Postman发送到我的服务。我使用的是Spring 5.2.7(Spring MVC,不是SpringBoot)和Hibernate 5.4.17以及Java 8。我的问题与此非常相似:I want to send a Postman POST request with an Array: members: ["william", "eric", "ryan"]
这是我试图在Postman中传递的类(POST方法):
public class ChatDescriptionDto {
private String chatID;
private List<String> members;
private String chatType;
public String getChatID() {
return chatID;
}
public void setChatID(String chatID) {
this.chatID = chatID;
}
public List<String> getMembers() {
return members;
}
public void setMembers(List<String> members) {
this.members = members;
}
public void addMembers(List<String> members)
{
if(this.members == null)
this.members = new ArrayList<>();
this.members.addAll(members);
}
public void addMember(String member)
{
if(this.members == null)
this.members = new ArrayList<>();
this.members.add(member);
}
public String getChatType() {
return chatType;
}
public void setChatType(String chatType) {
this.chatType = chatType;
}
}
我试过了,但没有成功:
{
"chatID": "123",
"members": ["P2001222833","P2001640916"],
"chatType": "personal"
}
编辑:这是我的控制器:
@PostMapping("/initiateChat")
public String initiateChat(@RequestBody ChatDescriptionDto chat)
{
return chatServiceLocal.initiateChat(chat)?"Chat Description created":"Failure! Could not save.";
}
编辑2:我在问题中写的方法"members": ["P2001222833","P2001640916"],
是正确的。结果,服务器中有一些错误,所以它从来没有启动过,我没有检查。
2条答案
按热度按时间j13ufse21#
由于没有关于您正在使用的
Controller
类的信息,我首先会假设您正在接收一个空对象,这意味着Spring只是跳过了序列化。当您没有将方法的参数指定为@RequestBody
时,就会出现这种情况。首先,请确保您确实有注解。如果不是这样,我会假设问题出在您使用的内容类型上。Spring默认使用JSON,但您可以在端点的配置中更改它。
t1qtbnec2#
要发送简单对象请求,请执行以下操作:
要发送列表对象请求,请执行以下操作:
这更像是列出数组元素。
在此之后弹出的任何错误,基本上都不是因为您发送的请求。