淘淘商城系列——单点登录接口文档分析
2017-06-13 16:17
260 查看
在工作当中,开发文档是我们开发人员最重要的开发指南,对开发文档一定要认真研读,不可错过任何重要信息,我们现在学单点登录(SSO)也需要学习下开发文档。
我们先来看文档的第一个接口(注册接口):检查数据是否可用,如下图所示。文档中明确地给出了请求的类型是GET请求,URL地址也给我们规定好了,
http请求肯定是在客户端写的,而客户端是需要服务端接口支撑的,现在我们便实现服务层接口开发及发布服务。
我们首先来看下数据来源,我们所要检查的用户数据都存储在tb_user表中,我们检查一下用户名、电话、邮箱是否合法,如果在用户表中已经有了,那么就是非法的了,如果用户表中没有相同记录,那么就合法。由于是单表操作,因此我们使用逆向工程生成的dao层代码即可。
接下来我们就要编写Service层的代码了。我们在UserRegisterService接口中编写方法——
之后我们在taotao-sso-service工程中编写UserRegisterService接口的UserRegisterServiceImpl实现类,如下图所示。
为方便大家复制,现将UserRegisterServiceImpl实现类的代码给出。
下面我们便发布一下服务,如下图所示。即在applicationContext-service.xml配置文件中添加如下配置:
这样Service层的代码便编写完了。
我们先来看文档的第一个接口(注册接口):检查数据是否可用,如下图所示。文档中明确地给出了请求的类型是GET请求,URL地址也给我们规定好了,
http://sso.taotao.com是域名,user/check/代表检查用户合法性。{param}/{type}是指要检查的参数及类型,param是可选参数,可以分别代表username、phone、email,当param代表username时type的值传1,当param代表phone时type的值传2,当param代表email时type的值传3。可选参数callback可以用于支持跨域解决js请求的问题(这个我们后面会学,不急)。返回值参数都给我们定好了,status代表状态码,msg代表返回的消息,data代表用户所传参数是否可用,我们最常用的TaotaoResult便刚好满足返回值的条件。
http请求肯定是在客户端写的,而客户端是需要服务端接口支撑的,现在我们便实现服务层接口开发及发布服务。
我们首先来看下数据来源,我们所要检查的用户数据都存储在tb_user表中,我们检查一下用户名、电话、邮箱是否合法,如果在用户表中已经有了,那么就是非法的了,如果用户表中没有相同记录,那么就合法。由于是单表操作,因此我们使用逆向工程生成的dao层代码即可。
接下来我们就要编写Service层的代码了。我们在UserRegisterService接口中编写方法——
TaotaoResult checkUserInfo(String param, int type);,如下图所示。
之后我们在taotao-sso-service工程中编写UserRegisterService接口的UserRegisterServiceImpl实现类,如下图所示。
为方便大家复制,现将UserRegisterServiceImpl实现类的代码给出。
/** * 用户注册处理Service * <p>Title: UserRegisterServiceImpl</p> * <p>Description: </p> * <p>Company: www.itcast.cn</p> * @version 1.0 */ @Service public class UserRegisterServiceImpl implements UserRegisterService { @Autowired private TbUserMapper userMapper; @Override public TaotaoResult checkUserInfo(String param, int type) { TbUserExample example = new TbUserExample(); Criteria criteria = example.createCriteria(); // 判断要校验的数据类型,来设置不同的查询条件 // 1、2、3分别代表username、phone、email if (type == 1) { criteria.andUsernameEqualTo(param); } else if (type == 2) { criteria.andPhoneEqualTo(param); } else if (type == 3) { criteria.andEmailEqualTo(param); } // 执行查询 List<TbUser> list = userMapper.selectByExample(example); if (list == null || list.size() == 0) { return TaotaoResult.ok(true); } return TaotaoResult.ok(false); } }
下面我们便发布一下服务,如下图所示。即在applicationContext-service.xml配置文件中添加如下配置:
<!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.taotao.sso.service.UserRegisterService" ref="userRegisterServiceImpl" timeout="300000" />
这样Service层的代码便编写完了。
相关文章推荐
- 学习淘淘商城第八十三课(单点登录接口文档分析及Service层接口开发并发布)
- pylogin系列之畅言登录评论接口分析
- 转载:大型网站架构分析系列技术文档合集
- 大型网站架构分析系列技术文档合集一
- 淘淘商城系列——SSO系统分析
- 淘淘商城系列——商品详情页面静态化方案分析
- 大型网站架构分析系列技术文档合集一
- 淘淘商城系列——单点登录之通过token获取用户信息
- Java基于微信公众号接口实现授权登录源码及原理分析
- 房卡棋牌分析系列之"微信登录"
- 淘淘商城系列——单点登录之用户注册
- linux网络编程系列-TCP及常用接口分析
- Android4.4-Launcher源码分析系列之关键的类和接口之DragLayer
- 【WEB API项目实战干货系列】- 接口文档与在线测试(二)
- 【WEB API项目实战干货系列】- 接口文档与在线测试(二)
- 软件生存周期文档系列 之 8.测试分析报告
- 腾讯qq和新浪微博网站登录接口及文档
- Android4.4-Launcher源码分析系列之关键的类和接口之DragScroller、DragController
- 学习淘淘商城第八十七课(单点登录用户登录流程分析及用户登录Service层)
- 淘淘商城系列——单点登录之用户登录