java接受不到前端发送对象

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请求里的请求体里面,需要用这个注解来解析到对象里

这种问题我碰到过,当时加上下述注解就解决了。

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

如果你是post请求,在UserBean之前加上@RequestBody就可以了

public Result synthesizeVoice( @RequestBody UserBean userBean) throws Exception {

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)

上下文注解