用户接口

RestFul风格的API设计

送分小仙女□ 提交于 2020-03-01 05:38:25
简介 2000 年,Roy Thomas Fielding 博士在他那篇著名的博士论文《Architectural Styles and the Design of Network-based Software Architectures》中提出了几种软件应用的架构风格,REST 作为其中的一种架构风格在这篇论文的第5章中进行了概括性的介绍。 REST 是“REpresentational State Transfer”的缩写,可以翻译成“表现状态转换”,但是在绝大多数场合中我们只说 REST 或者 RESTful。Fielding 在论文中将 REST 定位为“分布式超媒体应用(Distributed Hypermedia System)”的架构风格,它在文中提到一个名为“HATEOAS(Hypermedia as the engine of application state)”的概念。 我们利用一个面向最终用户的 Web 应用来对这个概念进行简单阐述:这里所谓的应用状态(Application State)表示 Web 应用的客户端的状态,简单起见可以理解为会话状态。资源在浏览器中以超媒体的形式呈现,通过点击超媒体中的链接可以获取其它相关的资源或者对当前资源进行相应的处理,获取的资源或者针对资源处理的响应同样以超媒体的形式再次呈现在浏览器上。由此可见

Web信息系统中用户业务通知系统设计

不羁的心 提交于 2020-03-01 03:06:04
引言 信息化的主要目的就是对信息流的管理,在没有信息传输系统之前,信息的流转靠口头传送、书写传送,口头传送仅能传输少量信息,大量信息传送采用书写文字的方式,种种方式都需费时费力,在进去电报电话时代,将以前的口头传送方式改为电的传输,再到现在基于信息系统交互的传输方式,信息的存储不在基于纸张,传输不再需要端到端实体接触,信息的扩散也与源头一致,不至于因为个人理解差异,传之千里,谬之千里。 信息系统就是要大大的提高效率,把人做的事情不断的智能化,把人解放出来。中国的企业信息化目前大都处于第三、第四阶段,控制阶段、集成阶段。第一是上很多系统、财务、资产、人力、客户、生产、办公系统,第二是要将这些系统统统组合一起,也就是集成阶段,解决信息孤岛问题,集合信息资源。 信息系统集成大都采用企业门户信息系统的概念,提供系统统一登录访问入口,完成系统的使用集成,今天谈谈门户系统中用户业务通知系统的设计。 一、通知系统是什么 通知系统、望文生义就是内外传达,通知用户相关信息的处理系统,为了是让用户获得信息消息,快速处理。 二、通知系统要达到什么要求 通知系统可以看作是信息系统中处理任务的入口,包含信息的获取、信息展示、信息记录、信息处理等。用户能够从通知系统中获取所有待办事宜、并提供处理入口,处理记录即达到设计目的。 1、获取全部通知信息 2、记录通知信息未读已读,控制提醒 3、提供处理入口 三

SSH三大框架的工作原理及流程

帅比萌擦擦* 提交于 2020-02-29 09:06:35
Hibernate工作原理及为什么要用? 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate持久化操作 7.session.getTransaction().commit();//提交事务 8.关闭Session 9.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库

Asp.Net Core基于JWT认证的数据接口网关Demo

…衆ロ難τιáo~ 提交于 2020-02-28 21:09:19
近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo。朋友自己开了个公司,接到的一个升级项目,客户要求用Aps.Net Core做数据网关服务且基于JWT认证实现对前后端分离的数据服务支持,于是想到我一直做.Net开发,问我是否对.Net Core有所了解?能不能做个简单Demo出来看看?我说,分道扬镳之后我不是调用别人的接口就是提供接口给别人调用,于是便有了以下示例代码。 示例要求能演示获取Token及如何使用该Token访问数据资源,在Demo中实现了JWT的颁发及验证以及重写一个ActionAuthorizeAttribute实现对具体数据接口的调用权限控制,先看一下项目截图: [项目截图] 项目文件介绍 解决方案下只有一个项目,项目名称就叫 Jwt.Gateway ,包含主要文件有: Controllers 目录下的 ApiActionFilterAttribute.cs 文件,继承 Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute ,用于校验接口调用者对具体接口的访问权限。 Controllers 目录下的 ApiBase.cs 文件,继承 Microsoft.AspNetCore.Mvc.Controller ,具有 Microsoft.AspNetCore

Zookeeper的工作原理

你说的曾经没有我的故事 提交于 2020-02-26 03:00:34
1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供给用户 来源: oschina 链接: https://my.oschina.net/u/3626804/blog/3158612

告别手写接口文档时代,比Swagger功能更强大的LKADocument接口文档管理框架诞生了!

喜夏-厌秋 提交于 2020-02-26 02:21:34
更详细的更全面的教程请观看作者亲自录制的视频教程,地址: https://edu.51cto.com/sd/9cb7f LKADocument视频教程 一、介绍 在前后端分离,分工更加明细化的今天,为了减少前端和后台开发人员的沟通成本,能够让他们做到并行开发,同时也能保证前端和后端开发人员所看到的接口文档的一致性,即时性,以此来大大提高工作效率。所以出现了一些非常优秀的接口管理工具,具有代表性的像Swagger,因为它能够通过注解或yml和JSON描述文件来自动生成接口文档。但是我觉得它不管是在配置过程还是正常使用过程都不是特别好用,特别是对对象参数和复杂的参数注释很不友好,对前端开发人员更不友好。 所以,LKADocument诞生了!LKADocument它也是一款基于Spring Web能够全自动生成接口文档管理的JAVA后台框架,没错!确实和swagger很像,但比swagger更加强大和智能,总体来说,要比swagger配置更简单,使用起来更方便,在参数注释和UI展示这一块功能更加强大,任何复杂的请求参数和响应参数都能够用注解描述出来,同样也支持接口在线调试,支持rest风格的接口。UI操作界面更符合中国程序员的口味,同时对前端和后端开发人员更加友好,特别是后端开发人员。先来几张图片大家感受一下强大的功能: 二、添加LKADocument插件到SpringBoot项目 1

API接口设计

巧了我就是萌 提交于 2020-02-25 19:59:04
1、场景描述   比如说我们要做一款APP,需要通过api接口给app提供数据。假设我们是做商城,比如我们卖书的。我们可以想象下这个APP大概有哪些内容:   1)首页:banner区域(可以是一些热门书籍的图片做推广)、本周热卖书籍区域、本月好评书籍区域、活动打折的书籍区域。。。   2)排行榜:比如第一季度热销榜、新书版。。。   3)书单:管理后台运营添加的书单,比如《程序员从入门到放弃》系列书单。。。   4)用户相关的:比如用户个人信息设置、订单管理、消息管理、收藏的书籍。。。   数据是保存在数据库中,考虑到高并发数据库的瓶颈,采用DB+缓存的服务器架构。 2、重要接口汇总   看似简单的一个app,需要调用的api接口是非常多的,总结下大概有这几类接口: 1)列表接口:比如书单里面的书籍列表、排行榜的书籍列表; 2)详情接口:书籍的详细信息; 3)评论接口:书籍评论(这里可能要求购买了的才能评论)、星标; 4)点赞接口:给书籍点赞、给书单点赞; 5)收藏接口:收藏书籍、收藏书单; 6)“相关”接口:比如书籍《php从入门到放弃》相关的有哪些书籍; 7)关注接口:关注某本书或者书籍作者,一旦某本书有打折或者作者有新书,会推消息等等。或者是用户间互相关注; 8)发布接口:比如用户可以发布书单。A用户发布了书单,B用户可以关注A用户,A用户再发布新书单,会给B用户推消息等等

drf认证组件、权限组件、jwt认证、签发、jwt框架使用

无人久伴 提交于 2020-02-25 12:47:11
目录 一、注册接口 urls.py views.py serializers.py 二、登录接口 三、用户中心接口(权限校验) urls.py views.py serializers.py 四、图书资源接口 urls.py views.py serializers.py 五、认证组件 重点 自定义认证类 六、权限组件 重点 自定义权限类 七、jwt认证示意图 八、 jwt认证算法:签发与校验 签发:根据登录请求提交来的 账号 + 密码 + 设备信息 签发 token 校验:根据客户端带token的请求 反解出 user 对象 九、drf项目的jwt认证开发流程(重点) 十、drf-jwt框架基本使用 安装(终端) 签发token 校验token(认证组件) 设置需要登录才能访问的接口进行测试(views.py) 测试访问登录认证接口(Postman) 一、注册接口 urls.py router.register('register', views.RegisterViewSet, 'register') from rest_framework_jwt.views import ObtainJSONWebToken urlpatterns = [ url('^login/$', ObtainJSONWebToken.as_view()), url('', include

人脸识别产品比较

♀尐吖头ヾ 提交于 2020-02-24 20:06:34
旷视产品: Face++ API Face++提供以下四类SDK:人脸识别、人体识别、文字识别、图像识别(场景、物体)。这里只阐述人脸识别接口用法。 1.接口使用: Face++的人脸识别接口都是底层的识别、对比、搜索、存储,与业务基本无关。 需要官网注册账号,创建应用并获得Api Key和Api Secret,所有请求必须带有这两项用来验证身份和计费。(试用账号免费使用)。 接口均为https api形式,移动SDK也是包装的https请求。 a) 识别接口 : 识别图片中人脸。接口详情: https://console.faceplusplus.com.cn/documents/4888373 输入: 图片(url,文件,base64三种方式),可选传入人脸框位置,以及想要获取的结果类型等参数。Key、Secret是每个请求都带的。 输出: 请求、图片、人脸的标识,人脸信息,所用时间。人脸信息包括人脸框位置、关键点(分为106点、83点两种)以及属性 (性别、年 龄、笑容、人脸姿势、模糊、眼睛状态(睁眼、眼镜、墨镜)、情绪、人脸质量、人种、颜值、嘴部状态(口罩、张开闭合)、眼球位置和视线、 皮肤状态(健康、色斑、痘、眼圈)) 。 人脸的唯一标识可以用来存储,存储之后再对同一人脸访问可以使用这个标识。 b) 对比接口 :对比是否为同一个人 。接口详情: https:/

ML平台_Angel参考

吃可爱长大的小学妹 提交于 2020-02-24 14:27:05
Angel 是腾讯开源基于参数服务器(Parameter Server)理念的机器学习框架( 为支持超大维度机器学习模型运算而生 ) 。 核心设计理念围绕模型,它将高维度的大模型切分到多个参数服务器节点 , 并通过高效的模型更新接口和运算函数 , 以及灵活的同步协议,实现机器学习算法的高效运行 。,开源代码地址: https://github.com/Tencent/angel 。 Angel 由 Java 和 Scala 开发,基于 Yarn 调度运行, 既能独立运行 ,高效运行特有的算法, 亦能作为 PS Service,支持 Spark 或其它深度学习框架,为其加速 。它基于腾讯内部的海量数据进行了反复的实践和调优,并具有广泛的适用性和稳定性,模型维度越高,优势越明显。 解释 BSP :(Bulk Synchronous Parallel 整体同步并行计算模型),BSP的概念由Valiant(1990)提出的,“块”同步模型,是一种异步MIMD-DM模型, 支持消息传递系统 , 块内异步并行 , 块间显式同步 ,该模型基于一个master协调,所有的worker同步(lock-step)执行, 数据从输入的队列中读取 SSP:( Stale Synchronous Parallel) ASP:( Asynchronous Parallel) 研发背景 腾讯公司是一家消息平台