spring boot如何接收有数组的对象?

前端Json参数如下:

{
    "name":"渠道3",
    "createrId":[1,2,3,4]
}

如何用@RequestBody 注解接收呢?

// 这样貌似不行
public Response getCanal(@RequestBody Map<String, List<Integer>> req){

我要取出来createrId配置mybatis plus的IN语句使用

 queryWrapper.in("creater_id",req.get("createrId"));
阅读 4.1k
1 个回答

定义一个类:

// 省略 import,getter 和 setter 使用 lombok

@Getter
@Setter
public class QueryParams {

    private String name;

    private List<Integer> creatorId;

}

在 controller 直接将该 entity 作为入参即可:

// 省略 import

@RestController
@RequestMapping("/my_entity")
public class MyEntityController {

    @PostMapping
    public Response getCanal(@RequestBody QueryParams queryParams) {
        String name = queryParams.getName();
        List<Integer> creatorId = queryParams.getCreatorId();
        // do something...
    }

}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题