SpringBoot-表现层Json数据一致处理 R对象

162 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。 在这里插入图片描述

package com.springboot.controller.utils;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
@AllArgsConstructor
public class R {
    private Boolean flag;
//    接收各种数据类型
    private Object data;
    public R(boolean flag){
        this.flag=flag;
    }
}



把表示层的返回值类型改成R

package com.springboot.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.springboot.controller.utils.R;
import com.springboot.domain.Book;
import com.springboot.service.IBookService;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/books")
public class BookController {
//    调用业务层
    @Autowired
    private IBookService iBookService;
    @GetMapping
    public List<Book>getAll(){
//        查询全部
        return iBookService.list();
    }

    @PutMapping
    public R update(@RequestBody Book book){
//        修改
        return iBookService.updateById(book);
    }
    @PostMapping
    public R save(@RequestBody Book book){
//        新增
        return iBookService.save(book);
    }
    @DeleteMapping("{id}")
    public R delete(@PathVariable Integer id){
//        删除单个
        return iBookService.removeById(id);
    }
//    http:localhost/book/2
    @GetMapping("{id}")
    public R getByID(  Integer id){
//        查询单个
        return iBookService.getById(id);
    }
//    分页
    @GetMapping("{start}/{end}")
    public R getPage(@PathVariable Integer start,@PathVariable Integer end){
        IPage page = new Page(start,end);
        return iBookService.page(page);
    }
}

在方法中添加R对象

    @PutMapping
    public R update(@RequestBody Book book){
//        修改
        R r= new R(iBookService.updateById(book));
        return r;
    }

返回有Date的值

    @GetMapping("{id}")
    public R getByID(  Integer id){
//        查询单个
        R r= new R(true,iBookService.getById(id));
        return r;
    }

在这里插入图片描述

修改完

package com.springboot.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.springboot.controller.utils.R;
import com.springboot.domain.Book;
import com.springboot.service.IBookService;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/books")
public class BookController {
//    调用业务层
    @Autowired
    private IBookService iBookService;
    @GetMapping
    public R getAll(){
//        查询全部
        return new R (true,iBookService.list());
    }

    @PutMapping
    public R update(@RequestBody Book book){
//        修改
        R r= new R(iBookService.updateById(book));
        return r;
    }
    @PostMapping
    public R save(@RequestBody Book book){
//        新增
        R r= new R(iBookService.save(book));
        return r;
    }
    @DeleteMapping("{id}")
    public R delete(@PathVariable Integer id){
//        删除单个
        R r= new R(iBookService.removeById(id));
        return r;
    }
//    http:localhost/book/2
    @GetMapping("{id}")
    public R getByID(@PathVariable Integer id){
//        查询单个
        R r= new R(true,iBookService.getById(id));
        return r;
    }
//    分页
    @GetMapping("{start}/{end}")
    public R getPage(@PathVariable Integer start,@PathVariable Integer end){

        IPage page = new Page(start,end);
        R r= new R(true,iBookService.page(page));
        return r;
    }
}