当前位置: 首页 > news >正文

360免费自助建站疫情防控最新数据

360免费自助建站,疫情防控最新数据,北京市朝阳区最新消息,美团网站做疏通广告一、前言 假设有以下需求: 服务消费者A调用服务提供者B往MySQL新增一条人员信息服务提供者做了一个逻辑判断:若无该人员信息则新增,若已存在该人员信息,则返回给消费者异常状态码及异常信息:“请勿添加重复数据” 问…

一、前言


假设有以下需求:
  • 服务消费者A调用服务提供者B往MySQL新增一条人员信息
  • 服务提供者做了一个逻辑判断:若无该人员信息则新增,若已存在该人员信息,则返回给消费者异常状态码及异常信息:“请勿添加重复数据”

问题:

  • 通常新增、修改、删除服务无需返回,所以服务消费者无法获取服务提供者返回的异常状态码和异常信息
  • 对返回结果的封装一般在服务消费者,对公共接口的服务提供者通常不会做返回值封装

二、解决思路

  • 封装一个返回实体,作用于fegin调用时返回

三、实现

  • 返回实体
/*** 返回实体** @author Odinpeng* @since 2023/12/5*/
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;@Data
public class ResponseBody<T> {/*** 输出信息*/private String msg;/*** 返回数据*/@Builder.Default@JsonInclude(JsonInclude.Include.NON_NULL)private T body = null;/*** 状态码*/private int code;/*** 默认构造成功信息*/public ResponseBody() {this.code = ReturnStatus.SUCCESS.getVal();this.msg = ReturnStatus.SUCCESS.getMsg();}public ResponseBody(int code, String msg) {this.code = code;this.msg = msg;}public ResponseBody(int code, String msg, T body) {this.code = code;this.msg = msg;this.body = body;}public static <T> ResponseBody<T> success() {return new ResponseBody<>();}public static <T> ResponseBody<T> success(String msg) {return new ResponseBody<>(ReturnStatus.SUCCESS.getVal(), msg);}public static <T> ResponseBody<T> error(int code, String msg) {return new ResponseBody<>(code, msg);}public static <T> ResponseBody<T> error(String msg) {return new ResponseBody<>(ReturnStatus.ERROR.getVal(), msg);}public ResponseBody<T> code(int code) {this.code = code;return this;}public ResponseBody<T> msg(String msg) {this.msg = msg;return this;}public ResponseBody<T> body(T body) {this.body = body;return this;}
}@Getter
enum ReturnStatus {/*** 操作成功*/SUCCESS(200, "操作成功"),/*** 系统内部错误*/ERROR(500, "系统内部错误");/*** 状态*/private final int val;/*** 信息输出*/private final String msg;/*** 有参构造** @param val 状态码* @param msg 消息体*/ReturnStatus(int val, String msg) {this.val = val;this.msg = msg;}
}
  • Fegin调用
/*** test fegin** @author Odinpeng* @since 2023/12/5**/
@FeignClient(url = "url", path = "path", name = "name")
public interface TestFeign{/*** 保存*/@PostMapping("save")ResponseBody<?> save(@RequestBody Body body);/*** 修改*/@PostMapping("update")ResponseBody<?> update(@RequestBody Body body);/*** 删除*/@PostMapping("delete")ResponseBody<?> delete(@RequestBody Integer index);
}
http://www.ds6.com.cn/news/17704.html

相关文章:

  • 哈尔滨短视频运营鞍山seo公司
  • 网站 文件夹结构百度资源共享
  • 自己建个网站需要多少钱单页网站模板
  • 日本纸盒包装创意设计一个企业seo网站的优化流程
  • 大学网站开发实验室建设方案南宁百度seo优化
  • 做培训的网站网站建设品牌公司
  • 大屏首页滚动网站源码seo优化软件购买
  • 自己做网站怎么做的适合女生去的培训机构
  • 汕头网页设计网站方案河南网站seo费用
  • 网站seo信息隐藏网络营销推广及优化方案
  • 企业网站托管服务常用指南兰州搜索引擎优化
  • 建网站免费app下载注册推广平台
  • appui界面设计seo关键词分析表
  • 网站编程技术 吉林出版集团股份有限公司谷歌推广外贸建站
  • 凡科网站开发自动app优化最新版
  • 石家庄货运做网站公司西青seo
  • 站长工具爱站网seo广告投放
  • wordpress网站前台打开慢百度一下 你知道首页
  • 校园社交网站怎么做网站优化培训
  • 网站设计公司有哪些武汉seo诊断
  • 邯郸个人做网站百度网址安全检测中心
  • wordpress 文章版权郴州seo快速排名
  • 网站建和优网站建设百度保障平台 客服
  • 手机网站开发苹果5 键盘弹出遮挡百度网盘登录首页
  • 一级a做愛av网站百度上打广告怎么收费
  • 衣柜全屋定制排名宁波seo外包推广平台
  • 网站建设公司营销话术怎么做关键词排名靠前
  • 二级域名可以做网站吗宁波谷歌seo
  • 做网站虚拟主机百度手机端排名如何优化
  • 个人电脑搭建成网站服务器关于seo的行业岗位有哪些