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

电子商务网站建设卷子张家港公司网站建设

电子商务网站建设卷子,张家港公司网站建设,海沧网站建设,呼和浩特企业网站排名优化目录 前言WebResponseExceptionTranslator自定义异常处理1、自定义我们响应实体类2、定义响应结果枚举类3、自定义异常转换类4、配置自定义异常转换器5、测试 前言 Spring Security OAuth2 认证失败的格式如下 {error: unsupported_grant_type,error: unsupported_grant_type,error_description: Unsupported grant type: refresh_token1 }这个返回是很不友好的特别是在前后端分离的时候前端一般是根据我们的返回码进行处理所以我们还得自定义我们的异常处理 WebResponseExceptionTranslator 在 AuthorizationServerEndpointsConfigurer端点配置类有一个 WebResponseExceptionTranslator异常转换器。 WebResponseExceptionTranslator只有一个translate方法很明显这个方法就是用来转换异常的 public interface WebResponseExceptionTranslatorT {ResponseEntityT translate(Exception e) throws Exception;}它就是专门用于处理异常转换的我们要自定义异常很简单创建一个类来实现WebResponseExceptionTranslator接口然后进行配置即 自定义异常处理 1、自定义我们响应实体类 定义一个我们需要格式的响应实体类这个实体类我们以json的格式返回 /*** 统一的返回实体*/ Data NoArgsConstructor public class MyResponseResultT {/*** 响应码*/private String code;/*** 响应结果消息*/private String msg;/*** 响应数据*/private T data;protected MyResponseResult(String code, String msg, T data) {this.code code;this.msg msg;this.data data;}public static T MyResponseResultT failed(String resultCode, String resultMsg) {return new MyResponseResultT(resultCode, resultMsg, null);}public static T MyResponseResultT failed(String message) {return new MyResponseResultT(ResultCode.FAILED.getCode(), message, null);}public static T MyResponseResultT failed(T data) {return new MyResponseResultT(ResultCode.SUCCESS.getCode(), ResultCode.SUCCESS.getMsg(), data);}}2、定义响应结果枚举类 /*** 响应结果枚举*/ Getter AllArgsConstructor public enum ResultCode {SUCCESS(200, 操作成功),FAILED(500, 操作失败),AUTH_FAIL(10001, 认证失败),INVALID_TOKEN(10002, token无效),NONSUPPORT_GRANT_TYPE(10003, 授权类型不支持),;private final String code;private final String msg;}3、自定义异常转换类 /*** 自定义异常转换*/ Slf4j public class MyExtendOAuth2ResponseExceptionTranslator implements WebResponseExceptionTranslator {public static final int FAIL_CODE 500;Overridepublic ResponseEntity translate(Exception e) throws Exception {log.error(认证服务器认证异常{}, e.getMessage());//对异常进行转换if (e instanceof UnsupportedGrantTypeException){return ResponseEntity.status(FAIL_CODE).contentType(MediaType.APPLICATION_JSON).body(MyResponseResult.failed(ResultCode.NONSUPPORT_GRANT_TYPE.getCode(), ResultCode.NONSUPPORT_GRANT_TYPE.getMsg()));}if (e instanceof InvalidTokenException) {return ResponseEntity.status(FAIL_CODE).contentType(MediaType.APPLICATION_JSON).body(MyResponseResult.failed(ResultCode.INVALID_TOKEN.getCode(),ResultCode.INVALID_TOKEN.getMsg()));}return ResponseEntity.status(FAIL_CODE).contentType(MediaType.APPLICATION_JSON).body(MyResponseResult.failed(ResultCode.AUTH_FAIL.getCode(),ResultCode.AUTH_FAIL.getMsg()));}}4、配置自定义异常转换器 在AuthorizationServerConfig配置文件的configure(AuthorizationServerEndpointsConfigurer endpoints)方法加下下面这行配置即可 //指定异常转换器endpoints.exceptionTranslator(new MyExtendOAuth2ResponseExceptionTranslator());5、测试 使用一个不存在的grant_type请求/oauth/token已经返回我们自定义的异常响应了 {code: 10003,msg: 授权类型不支持,data: null }
http://www.hkea.cn/news/14455335/

相关文章:

  • 英文网站怎么做外贸推广网站建设的平台分析
  • 程家桥街道网站建设长沙百度快速排名
  • 宁波网站优化平台精准客源推广引流
  • 网站开发需要准备什么材料国际局势最新消息今天
  • 南京企业网站设计公司响应式网站报价
  • 杭州网站推广优化公司做网站赔了8万
  • 市桥网站建设培训网站降权投诉
  • 怎么分析网站的外链建设情况网站开发合同下载
  • 网站推广是做什么的如何做一个网站平台
  • 意大利设计网站wordpress文章中写代码
  • 网站定制哪家比较好wordpress 更改注册页面
  • 商务网站开发作业非插件实现wordpress首页幻灯片
  • 网站策划书包含的内容天津通用网站建设方案
  • 阜宁建设网站的公司深圳哪个区最好
  • 建设母婴网站的总结外贸推广是做什么的
  • 陕西网站建设报价wordpress 4.7.1
  • 用网页制作个人网站做曖免费网站
  • 如何上传模板到网站做电商怎么自学
  • 网站产品页排名怎么做传到网站根目录
  • 多用户分布式网站开发灰色词排名推广
  • 如何做自己的大淘客网站三只松鼠网站推广策略
  • 网站建设推广合同书建店前期网站开通怎么做分录
  • 公司做网站推广有没有用广州十大网站开发公司
  • 云南网站开发公司介绍可以转app的网站怎么做
  • 图标网站导航制作怎么做python基础教程第二版答案
  • 想做网站怎么做大数据培训班需要多少钱
  • 北京南站是丰台站吗如何用wordpress快速建站
  • 顶呱呱网站建设价格sns网站社区需求分析文档
  • 网站推广工作如何做手机网站课程
  • 青岛商家都上什么网站个人网站有哪些类型