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

贵阳有哪些可以制作网站的公司吗网站付费模板

贵阳有哪些可以制作网站的公司吗,网站付费模板,wordpress创客云,wordpress reset api前端在调用后端接口时往往不同的接口返回的数据是不一样的#xff0c;但是通常我们会与前端约定一个固定的返回格式#xff0c;通过固定的格式告诉他们什么时候接口是返回成功#xff0c;什么时候返回失败#xff0c;返回成功后他们如何拿到接口返回的数据去渲染前端页面。…前端在调用后端接口时往往不同的接口返回的数据是不一样的但是通常我们会与前端约定一个固定的返回格式通过固定的格式告诉他们什么时候接口是返回成功什么时候返回失败返回成功后他们如何拿到接口返回的数据去渲染前端页面。 在不对接口统一包装时你可能会这样的返回如一个查询接口 PostMapping(value /list)public ListMapString, Object list() {ListMapString, Object mapList new ArrayList();HashMapString, Object map new HashMap();map.put(dazhi, 大智);map.put(zhangsan, 张三);map.put(laoliu, 老六);mapList.add(map);return mapList;} 接口返回 又或者这样的如一个删除接口 PostMapping(value /delete)public String delete() {return 删除完毕;} 接口返回 像这些情况如果你和前端开发人员联调接口她们就会很懵逼由于我们没有给他一个统一的格式前端人员不知道如何处理返回值。所以我们需要定义一个统一的标准返回格式的。 一个标准的返回格式至少包含3部分 code 状态码统一定义各种返回结果的状态码。 msg 描述接口调用的结果描述。 data 数据返回的数据。 {code: S000,msg: 操作成功!,data: 数据更新成功! } 我们使用RestControllerAdvice注解并且实现ResponseBodyAdvice接口来实现统一返回格式的封装关于使用RestControllerAdvice实现全局异常处理可以看我以前的文章《Springboot全局异常处理从配置文件中读取自定义异常信息》接下来展示一下大概的代码 定义一个标准的统一返回实体 package com.yx.limit.base.vo;import com.yx.limit.base.enums.ResponseEnum; import lombok.Data;/*** Author yx* Description 统一响应实体*/ Data public class ResponseVoT {/*** 响应编码*/private String code;/*** 消息内容*/private String msg;/*** 响应数据*/private T data;private ResponseVo() {}private enum Singleton{INSTANCE;private ResponseVo responseVo;Singleton(){if (responseVo null){responseVo new ResponseVo();}}public ResponseVo getInstance(){return responseVo;}}public static T ResponseVoT success() {return success(null);}public static T ResponseVoT success(T data) {ResponseVoT responseVo Singleton.INSTANCE.getInstance();responseVo.setCode(ResponseEnum.SUCCESS.getResultCode());responseVo.setMsg(ResponseEnum.SUCCESS.getResultMsg());responseVo.setData(data);return responseVo;}public static T ResponseVoT error(String code, String msg) {ResponseVoT responseVo Singleton.INSTANCE.getInstance();responseVo.setCode(code);responseVo.setMsg(msg);responseVo.setData(null);return responseVo;}public static T ResponseVoT error(String msg) {ResponseVoT responseVo Singleton.INSTANCE.getInstance();responseVo.setCode(ResponseEnum.ERROR.getResultCode());responseVo.setMsg(ResponseEnum.ERROR.getResultMsg());responseVo.setData(null);return responseVo;} }定义一个状态码枚举 package com.yx.limit.base.enums;import lombok.AllArgsConstructor; import lombok.Getter;/*** Author yx* Description 响应编码枚举*/ AllArgsConstructor public enum ResponseEnum {/*** 数据操作错误定义*/SUCCESS(S000,操作成功!),ERROR(E000,操作失败!),SIGNATURE_NOT_MATCH(E001,请求的数字签名不匹配!),BODY_NOT_MATCH(E002,请求的数据格式不符!),INTERNAL_SERVER_ERROR(E003, 服务器内部错误!);/*** 错误码*/Getterprivate String resultCode;/*** 错误描述*/Getterprivate String resultMsg; }定义一个忽略自动包装返回功能的注解 package com.yx.limit.base.annotations;import java.lang.annotation.*;/*** Author yx* Description 忽略自动返回构造注解*/ Documented Target({ElementType.METHOD}) Retention(RetentionPolicy.RUNTIME) public interface IgnoreAutoResponse { } 统一响应结果通知类  package com.yx.light.element.mybatis.advice;import com.fasterxml.jackson.databind.ObjectMapper; import com.yx.limit.base.annotations.IgnoreAutoResponse; import com.yx.limit.base.vo.ResponseVo; import lombok.SneakyThrows; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice;/*** Author yx* Description 统一响应结果通知*/ RestControllerAdvice public class ResponseAdvice implements ResponseBodyAdviceObject {private final ObjectMapper objectMapper;public ResponseAdvice(ObjectMapper objectMapper) {this.objectMapper objectMapper;}Overridepublic boolean supports(MethodParameter methodParameter, Class? extends HttpMessageConverter? aClass) {return !methodParameter.hasMethodAnnotation(IgnoreAutoResponse.class);}SneakyThrowsOverridepublic Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class? extends HttpMessageConverter? aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) {//SpringBoot的Controller中的方法返回值是String时会直接返回if (o instanceof String) {return objectMapper.writeValueAsString(ResponseVo.success(o));}//全局异常处理的结果直接返回即可if (o instanceof ResponseVo) {return o;}return ResponseVo.success(o);} }这个时候我们再来请求原来的两个方法查看返回结果 list方法 delete方法 我们发现delete的方法返回的json格式没有格式化我们只需要稍加改造一下delete方法就能正常返回格式化的数据 PostMapping(value /delete, produces application/json; charsetUTF-8)public String delete() {return 删除完毕;} 对于一些不想返回固定包装的方法可以在方法上加上IgnoreAutoResponse注解即可返回原始的格式 PostMapping(value /original)IgnoreAutoResponsepublic String original() {return 原始字符串;}
http://www.hkea.cn/news/14577279/

相关文章:

  • 中小企业网站建设公司首选seo软件推广哪个好
  • 大浪网站建设 优帮云o2o平台的基本信息
  • 网站制作网站建设项目规划书罗湖公司网站建设
  • 好的网站建站公司江苏专业网站建设
  • 网站开发的布局划分献县建设局网站
  • 常州网站seo公司网站虚假宣传但网站不是我做的
  • 网站访问量咋做WordPress购物个人中心
  • 成品网站 售卖连云港建设工程质量监督站网站
  • 手机模板网站模板下载工具虚拟主机 网站镜像
  • 淘客网站怎么与pidwordpress cart
  • 深圳做二维码网站设计项目设计方案模板
  • 网站建设公司客户开发手册如何查询网站的建站工具
  • asp.net 知名网站做外贸生意的网站
  • 手机怎么创网站asp.net jsp 网站
  • 绵阳高新区建设局网站怎么做网页游戏代理
  • 手机站电影山东大良网站建设
  • 上海专业网站优化排名内江建网站
  • 便宜的做网站公司网站建设虚拟空间
  • 佛山市南海区城乡建设局网站网站收录减少
  • 做网站时分类标题和分类描述网页设计版式图片
  • 如何做求职招聘网站一图读懂制作软件
  • 全国知名网站建设网站建设 内容
  • 做企业宣传片的网站拐角型布局网站
  • 惠州城市建设建筑网站汕头最新新闻消息
  • 小学学校网站东莞外贸网站设计
  • 传奇手游网站大全9377官方网站建设步骤
  • 做彩票网站是违法的吗京东网上商城电话
  • wordpress调用网站标题php做网站用什么软件
  • 东莞微信网站建设报价深圳整合营销
  • 写作网站投稿赚钱新网站如何做seo优化