设计Code状态码
package com.itheima.controller;//状态码//通常是双方协议或公司规定public class Code { public static final Integer SAVE_OK = 20011; public static final Integer DELETE_OK = 20021; public static final Integer UPDATE_OK = 20031; public static final Integer GET_OK = 20041; public static final Integer SAVE_ERR = 20010; public static final Integer DELETE_ERR = 20020; public static final Integer UPDATE_ERR = 20030; public static final Integer GET_ERR = 20040;}
- 设计Result返回数据规范
package com.itheima.controller;public class Result { //描述统一格式中的数据 private Object data; //描述统一格式中的编码,用于区分操作,可以简化配置0或1表示成功失败 private Integer code; //描述统一格式中的消息,可选属性 private String msg; // 注意:我们需要提供构造方法便捷操作 public Result() { } public Result(Integer code,Object data) { this.data = data; this.code = code; } public Result(Integer code, Object data, String msg) { this.data = data; this.code = code; this.msg = msg; } public Object getData() { return data; } public void setData(Object data) { this.data = data; } public Integer getCode() { return code; } public void setCode(Integer code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; }}
- 服务层返回数据更替
package com.itheima.controller;import com.itheima.domain.Book;import com.itheima.service.BookService;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 BookService bookService; // 我们按照Result的构造方法以及实际需求提供返回值 // 我们可以根据三目运算符来直接输出其结果 @PostMapping public Result save(@RequestBody Book book) { boolean flag = bookService.save(book); return new Result(flag ? Code.SAVE_OK:Code.SAVE_ERR,flag); } @PutMapping public Result update(@RequestBody Book book) { boolean flag = bookService.update(book); return new Result(flag ? Code.UPDATE_OK:Code.UPDATE_ERR,flag); } @DeleteMapping("/{id}") public Result delete(@PathVariable Integer id) { boolean flag = bookService.delete(id); return new Result(flag ? Code.DELETE_OK:Code.DELETE_ERR,flag); } @GetMapping("/{id}") public Result getById(@PathVariable Integer id) { Book book = bookService.getById(id); Integer code = book != null ? Code.GET_OK : Code.GET_ERR; String msg = book != null ? "" : "数据查询失败,请重试!"; return new Result(code,book,msg); } @GetMapping public Result getAll() { List<Book> bookList = bookService.getAll(); Integer code = bookList != null ? Code.GET_OK : Code.GET_ERR; String msg = bookList != null ? "" : "数据查询失败,请重试!"; return new Result(code,bookList,msg); }}
经验总结扩展阅读
-
-
-
-
-
-
moss时尚圈过年了!来“蹦迪”的明星们用了什么?
-
-
抑郁症患者 抑郁症:若想走向康复与强大,你必须学会与自己的灵魂对话
-
2023年1月9日安装门户好吗 2023年1月9日是安装门户的黄道吉日吗
-
2022年农历腊月初七开学典礼吉日 2022年12月29日适合开学典礼吗
-
-
温州|行拘+退学处理!温州高校深夜通报两起男生骚扰女性事件处理进展
-
-
-
-
-
vivoT1和荣耀50哪个好_vivoT1和荣耀50参数对比
-
-
许三观卖血记|活着是生命的力量,活得好是人生的态度
-