Java后端返回前端数据的封装

Java后端返回前端数据的封装

后端返回数据时没有进行封装,只返回数组对象,如下:

在这里插入图片描述

为方便前端数据获取,需要对返给前端的数据进行封装,显示相应的状态码,请求响应情况,如下的效果:
  {
    "code": 200,
    "msg": "成功",
    "total": 10,
    "data": []
  }

1.封装代码

在common包添加Result类:
在这里插入图片描述
代码:

package com.wms.common;
import lombok.Data;
@Data
public class Result {
    private int code; // 返回编码,200->成功,400->失败
    private String msg; // 成功,失败
    private Long total; // 数据总数
    private Object data; // 数据
    private static Result result(int code,String msg,Long total,Object data){
        Result res = new Result();
        res.setData(data);
        res.setCode(code);
        res.setMsg(msg);
        res.setTotal(total);
        return res;
    }
    public static Result fail(){
        return result(400,"失败",0L,null);
    }
    public static Result success(){
        return result(200,"成功",0L,null);
    }
    public static Result success(Object data){
        return result(200,"成功",0L,data);
    }
    public static Result success(Object data,Long total){
        return result(200,"成功",total,data);
    }
}

2. 接口代码编写

在包controller编写以下代码:
在这里插入图片描述
代码:

package com.wms.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wms.common.QueryPageParam;
import com.wms.common.Result;
import com.wms.entity.User;
import com.wms.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserService userService;
    @PostMapping("/listUserPage")
    public Result listUserPage(@RequestBody QueryPageParam query){
        HashMap args = query.getArgs();
        String name = (String)args.get("name");
        Page<User> page = new Page();
        page.setCurrent(query.getPageNum()); //设置当前页,默认为1
        page.setSize(query.getPageSize()); //设置当前页数量,默认为10
        LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper();
        lambdaQueryWrapper.like(User::getName,name);
        IPage result = userService.page(page,lambdaQueryWrapper);
        return Result.success(result.getRecords(),result.getTotal());
    }
}

3.接口测试

利用Postman测试接口,成功返回封装代码:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值