OpenFeign参数学习(三):返回类型之对象和列表

1.使用OpenFeign调用服务,并返回对象

a.被调用方

  //OpenFeign返回值类型
    //根据id查询用户相关信息
    @RequestMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){

        return new User(id, "朱丽娜", 8932.01);
    }

b.OpenFeign接口

 //OpenFeign返回值类型    根据id查询用户相关信息
    @RequestMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id);

c.调用方

    //OpenFeign返回值类型   根据id查询,返回User
    @RequestMapping("/user/{id}")
    public User getUser(@PathVariable("id") Integer id){

        User user = userClient.getUser(id);
        return user;
    }

2.使用OpenFeign调用服务,并返回集合List 集合

a.被调用方

    //OpenFeign返回值类型
    //根据订单id查询商品列表
    @GetMapping("/orderUser/{id}")
    public List<User> orderUser(@PathVariable("id") Integer id){
        List<User> users = new ArrayList<>();
        users.add(new User(1001, "张三",8956.0));
        users.add(new User(1002, "王五",6545.0));
        users.add(new User(1003, "赵六",5632.0));

        return users;
    }

b.OpenFeign接口

    //OpenFeign返回值类型  根据订单id查询商品列表
    @GetMapping("/orderUser/{id}")
    public List<User> orderUser(@PathVariable("id") Integer id);

c.调用方

    //OpenFeign返回值类型  返回User列表
    @GetMapping("/orderUser/{id}")
    public List<User> orderUser(@PathVariable("id") Integer id){
        return userClient.orderUser(id);
    }

3.使用OpenFeign调用服务,并返回集合 Map集合

a.被调用方

       //根据订单id,返回map集合
    //参数 需要 当前页、展示数量、订单id
    @GetMapping("/pagingMap")
    public Map<String,Object> pagingMap(Integer page,Integer rows,Integer id){
        //分页查询符合订单id的用户,返回集合  List<User> select * from user where id=? limit 0, 5
        //根据订单显示总的用户数量   select count(*) from user;
        Map<String, Object> map = new HashMap<>();
        List<User> users = new ArrayList<>();
        users.add(new User(1001, "哈密瓜", 2356.0));
        users.add(new User(1002, "冬瓜", 2356.0));
        users.add(new User(1003, "西瓜", 2356.0));
        users.add(new User(1004, "南瓜", 2356.0));
        users.add(new User(1005, "甜瓜", 2356.0));
        map.put("users", users);
        map.put("total", 100);

        return map;
    }

b.OpenFeign接口

    //根据订单id,返回map集合
    //参数 需要 当前页、展示数量、订单id
    @GetMapping("/pagingMap")
    public String pagingMap(@RequestParam("page") Integer page,@RequestParam("rows") Integer rows,@RequestParam("id") Integer id);

c.调用方

    //根据订单id,返回map集合
    //参数 需要 当前页、展示数量、订单id
    @GetMapping("/pagingMap")
    public String pagingMap(){
        String result = userClient.pagingMap(1, 5, 1);

        //自定义json反序列化  对象转为json为序列化    json转为对象为反序列化
        JSONObject object = JSONObject.parseObject(result);
        Integer total = (Integer) object.get("total");
        Object users = object.get("users");

        System.out.println("总数量是:"+total);

        //第二次转换
        List<User> userList = JSONObject.parseArray(users.toString(), User.class);
        for (User user : userList) {
            System.out.println(user);
        }

        return result;
    }

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值