java在接受前端发送的对象,明明前端发送的不是空对象,但后端接受的还是空对象,请问是为什么呀,十分感谢。
这是前端发送的数据
```javascript
{
phone: "313165561",
list: [
{
role: "user",
content: "头痛怎么办"
}
]
}
这是后端代码
public Result synthesizeVoice( UserBean userBean) throws Exception {
try{
System.out.println(userBean);
}catch (Exception e){
e.printStackTrace();
}
return Result.systemError();
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserBean {
private String phone;
private List<Chat> list;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Chat {
private String role; //角色
private String content; //内容
}
```
UserBean前面加一下@ResquesBody注解,这种json对象一般是post请求里的请求体里面,需要用这个注解来解析到对象里
这种问题我碰到过,当时加上下述注解就解决了。
如果你是post请求,在UserBean之前加上@RequestBody就可以了
public Result synthesizeVoice( @RequestBody UserBean userBean) throws Exception {
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
上下文注解