一、原因
后端返回的数据格式千篇一律,前端不好处理
数据格式统一后:
解决办法:
第一步:编写工具类
package com.xiaoxu.ssmp.utils;
import lombok.Data;
@lombok.Data
public class Result {
private Boolean flag;
private Object data;
public Result(){
}
public Result(Boolean flag){
this.flag = flag;
}
public Result(Boolean flag,Object object){
this.flag = flag;
this.data = object;
}
}
第二部改造controller:
package com.xiaoxu.ssmp.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xiaoxu.ssmp.pojo.User;
import com.xiaoxu.ssmp.service.UserService2;
import com.xiaoxu.ssmp.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UserController2 {
@Autowired
private UserService2 userService2;
@GetMapping("/list")
public Result list(){
List<User> list = userService2.list();
if (list == null){
return new Result(false,null);
}
return new Result(true,list);
}
//https://localhost/users/3
@GetMapping("/{id}")
public Result getById(@PathVariable Integer id){
User user = userService2.getById(id);
if (user == null){
return new Result(false,null);
}
return new Result(true,user);
}
@PutMapping("/update")
public Result update(@RequestBody User user){
/**
* lqw为查询条件 集 where id= #{id}
* user 里的内容 需要修改的值
*/
Integer id = Math.toIntExact(user.getId());
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();
lqw.eq(User::getId,id);
boolean isTrue = userService2.update(user,lqw);
if (isTrue){
return new Result(true,null);
}
return new Result(false,null);
}
@DeleteMapping("/delete/{id}")
public Result deleteById(@PathVariable int id){
Boolean aBoolean = userService2.removeById(id);
if (aBoolean){
return new Result(true,null);
}
return new Result(false,null);
}
@PostMapping("/save")
public Result save(@RequestBody User user){
boolean isTrue = userService2.save(user);
if (isTrue){
return new Result(true,null);
}
return new Result(false,null);
}
//分页查询
@GetMapping("/page/{currentPage}/{pageSize}")
public Result page(@PathVariable int currentPage,@PathVariable int pageSize){
Page page = userService2.getPage(currentPage, pageSize);
if (page == null){
return new Result(false,null);
}
return new Result(true,page);
}
}
第三步:测试