网站首页 | 范文大全 | 常用申请书 | 党团范文 | 讲话发言 | 作文大全 | 报告叙述 | 合同范文 | 党建教育 | 入党材料 | 心得体会 |
三晋范文网
  • 读书心得体会
  • 培训心得体会
  • 军训心得体会
  • 教师心得体会
  • 解放思想心得体会
  • 工作心得体会
  • 学习心得体会
  • 社会实践心得体会
  • 教师笔记
  • 您的位置:三晋范文网 > 心得体会 > 培训心得体会 > 正文 2019-10-16 07:32:23

    接口返回的数据【如何优雅的处理API接口的返回数据-----附源码战舰南海演练夺岛】

    摘要:如何优雅的处理API接口的返回数据-----附源码战舰南海演练夺岛

    API返回对象ResponseDTO<T,包括以下部分

    result:调用是否成功code:状态码msg:结果消息data:响应数据,泛型<T,可以接收任何数据类型

    ResponseDTO源码如下:

    package com.study.web.dto;import lombok.AllArgsConstructor;import lombok.Builder;import lombok.Data;import lombok.NoArgsConstructor;@Data@AllArgsConstructor@NoArgsConstructor@Builderpublic class ResponseDTO<T { /** * 调用是否成功 */ @Builder.Default private boolean result = true; /** * 状态码 */ @Builder.Default private String code = "200"; /** * 结果消息 */ @Builder.Default private String msg = ""; /** * 响应数据 */ private T data; /**  * <p 返回成功结果,无返回结果集 </p  *  * @return ResponseDTO<T */ public static <T ResponseDTO<T success()投资者说20130606 { return success(null); } /**  * <p 返回成功结果,有返回结果集 </p  *  * @return ResponseDTO<T */ @SuppressWarnings("unchecked") public static <T ResponseDTO<T success(T data) { return ((ResponseDTO<T) ResponseDTO.builder().result(true).code("200").msg("").data(data).build()); } /**  * <p 返回失败结果,无返回结果集 </p  *  * @return ResponseDTO<T */ public static <T ResponseDTO<T error() { return error(null); } /**  * <p 返回失败结果,有返回结果集 </p  *  * @return ResponseDTO<T */ @SuppressWarnings("unchecked") public static <T ResponseDTO<T error(T data) { return ((ResponseDTO<T) ResponseDTO.builder().result(false).data(data).build()); }}

    示例代码:

    1、无返回Data

    /** * 无返回Data */ @PostMApping("/testVoid") public ResponseDTO<Void testVoid(){ ResponseDTO<Void result = ResponseDTO.success(); try { //业务代码 studyService.testVoid(); } catch (Exception e) { log.error("天猫王宇处理异常", e); result.setResult(false); result.setCode("500"); result.setMsg("异常"); } return result; }

    2、返回对象

    /** * 返回对象 */ @PostMapping("/testString") public ResponseDTO<String testString(){  ResponseDTO<String result = ResponseDTO.success(); try { //业务代码 String data = studyService.testString(); result.setData(data); } catch (Exception e) { log.error("处理异常", e); result.setResult(false); result.setCode("500"); result.setMsg("异常"); } return result; }

    3、返回对象列表

    /** * 返回对象列表 */ @PostMapping("/testList") public ResponseDTO<List<String testList(){ ResponseDTO<List<String result = ResponseDTO.success(); try { //业务代码 List<String data = studyService.testList(); result.setData(data); } catch (Exception e) { log.error("处理异常", e); result.setResult(false); result.setCode("500"); result.setMsg("异常"); } return result; }

    接口返回的数据【如何优雅的处理API接口的返回数据-----附源码战舰南海演练夺岛】》由(三晋范文网)整理提供,版权归原作者、原出处所有。
    Copyright © 2023 三晋范文网 All Rights Reserved. 备案号:京ICP备14001712号-1