从品牌网站建设到网络营销策划,从策略到执行的一站式服务
前言
创新互联建站专注于富川企业网站建设,响应式网站,商城系统网站开发。富川网站建设公司,为富川等地区提供建站服务。全流程按需定制开发,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务Optional的代码相对更加简洁,当代码量较大时,我们很容易忘记进行null判定,但是使用Optional类则会避免这类问题。
下面这是一个嵌套的 if 判断,业务逻辑是从 httpRequst 中获取 X-Auth-Token 的值。逻辑是如果 header中有值则从 header 中取值否则从 cookie 中取值,取到值后调用一个 http 远程接口 获取用户信息,获取不到则报“获取用户信息失败”,如果 token 都不存在则直接返回 httpRespons 为 401-NoAuth
这下面是之前同事写的代码
if 嵌套代码
if (methodNeedAuth) { //***身份验证 String token = request.getHeader("X-Auth-Token"); if (StringUtils.isEmpty(token)) { // 如果 header 中没有 X-Auth-Token 则从 cookie 中取 Cookie[] cookies = request.getCookies(); if (cookies == null || cookies.length == 0) { //cookie 都为 null return returnNoAuthResult(response); } //这个地方判空,否则下面的 Arrays.stream 回报空指针异常 token = Arrays.stream(cookies).filter(cookie -> "X-Auth-Token".equals(cookie.getName()) ).collect(Collectors.toList()).get(0).getValue(); if (token == null) { // cookie 有值但是 cookie 中没有 X-Auth-Token return returnNoAuthResult(response); } } if (!StringTool.isNullOrEmpty(token)) { userInfo = userService.getUserInfoByToken(token); } if (userInfo == null || StringTool.isNullOrEmpty(userInfo.getUser_id())) { return returnNoAuthResult(response); } }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图