用户接口

JAVA Web 实训项目 西蒙购物网

為{幸葍}努か 提交于 2019-12-11 02:17:18
(一)创建数据库 创建MySQL数据库simonshop,包含四张表:用户表(t_user)、类别表(t_category)、商品表(t_product)和订单表(t_order)。 (二)创建Web项目simonshop 1、创建Web项目simonshop 2、在项目结构窗口里设置Artifacts名称:simonshop 3、配置服务器(Server) 4、设置部署(Deployment) (三)创建实体类 在src里创建net.lfh.shop.bean包,创建四个实体类:User、Category、Product与Order,与四张表t_user、t_category、t_product与t_order一一对应。 1、用户实体类User package net . lfh . shop . bean ; /** * 功能:用户实体类 * 作者:李福华 * 日期:2019年12月5日 */ import java . util . Date ; public class User { /** * 用户标识符 */ private int id ; /** * 用户名 */ private String username ; /** * 密码 */ private String password ; /** * 电话号码 */ private String telephone

RESTful 接口实现简明指南

前提是你 提交于 2019-12-10 20:11:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在前后端分离的 Web 应用架构中,前端专注于页面,同时与后端进行数据交互;而后端则专注于提供 API 接口。在这样的结构下,REST 是一个很流行的前后端交互形式的约定。这只是一套约定,并不是某个技术标准,所以在实际的应用中,对器实现程度完全取决于后端开发者;一些号称 RESTful 的接口并没有那么RESTful。 在我所见过的 RESTful 接口的实现中,以 GitHub 最让人惊叹。我第一次如此强烈得感受到 REST 接口的美妙,完全满足了我所期待的「接口的形式美感」,简直就是对 REST 规范实现的最佳范本。我觉得每一个后端开发者都应该看一看 GitHub 的 REST 接口文档 ,感受一下循规蹈矩的美妙。 本文选取了几个点来简要介绍,一个让前端开发者用起来舒服的 RESTful 接口是什么样子。 REST 简介 以防有些观众刚刚打开电梯,还是有必要简单介绍一下 REST 这个概念。 REST 是一个术语的缩写,REpresentational State Transfer,中文直译「表征状态转移」,这是个很拗口的词。我的建议是先不要强行理解,直接看怎么做,等对实施细节有一些了解后,再来看名字会有更深刻的理解。REST 是一套风格约定,RESTful 是它的形容词形式;比如一套实现了 REST

App开放接口api安全性的设计与实现

浪尽此生 提交于 2019-12-10 13:55:49
App开放接口api安全性的设计与实现 Posted on 2016-09-29 11:49 琪齐 阅读(4121) 评论(0) 编辑 收藏 阅读目录 导航 公告 App开放接口api安全性的设计与实现 前言 设计   1、原理   2、具体实现 代码实现 回到目录 前言 在app开放接口api的设计中,避免不了的就是安全性问题,因为大多数接口涉及到用户的个人信息以及一些敏感的数据,所以对这些接口需要进行身份的认证, 那么这就需要用户提供一些信息,比如用户名密码等,但是为了安全起见让用户暴露的明文密码次数越少越好,我们一般在web项目中,大多数采用保存的session中, 然后在存一份到cookie中,来保持用户的回话有效性。但是在app提供的开放接口中,后端服务器在用户登录后如何去验证和维护用户的登陆有效性呢? 回到目录 设计 对于敏感的api接口,需使用https协议 https是在http超文本传输协议加入SSL层,它在网络间通信是加密的,所以需要加密证书。https协议需要ca证书,一般需要交费。 回到目录   1、原理 用户登录后向服务器提供用户认证信息(如账户和密码),服务器认证完后给客户端返回一个PID令牌,用户再次获取信息时, 带上此令牌,如果令牌正取,则返回数据。对于获取Token信息后,访问用户相关接口,客户端请求的url需要带上如下参数: ① 时间戳

(项目)生鲜超市(六)

本小妞迷上赌 提交于 2019-12-10 04:52:38
七、用户登录与手机注册 1、drf的token   在INSTALLED_APPS中注册: 1 INSTALLED_APPS = ( 2 'rest_framework.authtoken' 3 )   然后迁移数据库,会生成一张表authtoken_token,存放用户的token信息:   配置token的url: 1 from rest_framework.authtoken import views 2 3 4 urlpatterns = [ 5 path('api-token-auth/', views.obtain_auth_token), # drf-token 6 ]   然后现在测试发起post请求登录,我们使用postman工具来发起请求:   drf返回的token值会保存到数据库中并与用户进行关联:   然后客户端需要进行身份验证,令牌密钥包含在 Authorization HTTP header 中。关键字应以字符串文字 “Token” 为前缀,用空格分隔两个字符串。例如: Authorization: Token 30fc1a3cab2d97a6ab3431d603a0bfc40145785b   通过验证 TokenAuthentication 将提供以下凭据: request.user request.auth   要想获取这两个实例

FISCO BCOS CRUD使用指南

喜你入骨 提交于 2019-12-09 22:58:48
本文将介绍 FISCO BCOS的CRUD功能,帮助开发者更高效便捷地开发区块链应用。 为什么设计CRUD功能? 在FISCO BCOS 1.0中,节点采用MPT数据结构,通过LevelDB将数据存储于本地,这种模式受限于本地磁盘大小,当业务量增大时数据会急剧膨胀,要进行数据迁移也非常复杂,给数据存储带来较大成本和维护难度。 为了突破容量和性能瓶颈,FISCO BCOS 2.0针对底层存储进行了重新设计,实现了分布式存储,带来了容量和性能上的提升。得益于分布式存储采用了库表结构,FISCO BCOS 2.0设计一套CRUD(Create增加、Read读取、Update更新和Delete删除),让接口更加顺其自然。CRUD面向库表的开发方式符合业务开发习惯,同时也为业务开发提供了另外一种选择(以往只能用Solidity合约),从而让区块链应用开发更加便利。 CRUD有哪些优势? CRUD的核心设计思想是提供面向SQL编程的区块链应用开发规范。其好处显而易见,主要体现在两升两降。 提升开发区块链应用的效率 CRUD类似传统业务SQL编程开发模式,大大降低了合约开发难度。开发者将合约当做数据库的存储过程,将区块链数据的读写操作转换为面向表的读写操作,简单易用,极大提升了开发区块链应用的效率。 提升区块链应用的性能 CRUD底层逻辑基于预编译合约实现,其数据存储采用分布式存储

ASM原理详解,以及使用附代码,AOP利器

雨燕双飞 提交于 2019-12-08 10:03:49
少年,git代码,带你快速理解: https://github.com/singgel/eight-sorting-algorithms/tree/master/src/test/java/com/hks/eightsortingalgorithms/asm 一、什么是ASM   ASM是一个java字节码操纵框架,它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM从类文件中读入信息后,能够改变类行为,分析类信息,甚至能够根据用户要求生成新类。asm字节码增强技术主要是用来反射的时候提升性能的,如果单纯用jdk的反射调用,性能是非常低下的,而使用字节码增强技术后反射调用的时间已经基本可以与直接调用相当了   使用ASM框架需要导入asm的jar包,下载链接:asm-3.2.jar。 二、如何使用ASM   ASM框架中的核心类有以下几个:   ① ClassReader:该类用来解析编译过的class字节码文件。   ② ClassWriter:该类用来重新构建编译后的类,比如说修改类名、属性以及方法

微服务架构下分布式事务解决方案——阿里GTS

笑着哭i 提交于 2019-12-07 10:23:31
1 微服务的发展 微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开源社区等都开始了微服务的讨论和实践。Hailo有160个不同服务构成,NetFlix有大约600个服务。国内方面,阿里巴巴、 腾讯 、 360 、京东、58同城等很多互联网公司都进行了微服务化实践。当前微服务的开发框架也非常多,比较著名的有 Dubbo 、 SpringCloud 、 thrift 、 grpc 等。 2 微服务落地存在的问题 虽然微服务现在如火如荼,但对其实践其实仍处于探索阶段。很多中小型互联网公司,鉴于经验、技术实力等问题,微服务落地比较困难。如著名架构师Chris Richardson所言,目前存在的主要困难有如下几方面: 1)单体应用拆分为分布式系统后,进程间的通讯机制和故障处理措施变的更加复杂。 2)系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现,服务调用的分布式事务问题变的非常突出。 3)微服务数量众多,其测试、部署、监控等都变的更加困难。 随着RPC框架的成熟,第一个问题已经逐渐得到解决。例如dubbo可以支持多种通讯协议,springcloud可以非常好的支持restful调用。对于第三个问题,随着docker

RESTful API 实践

删除回忆录丶 提交于 2019-12-07 06:43:26
欢迎访问陈同学 博客原文 猪齿鱼 REST API 规范 本文记录了 RESTful API 的一些实践经验,内容综合了部分 后端圈.研习小组 关于 REST 的探讨结果,仅简单带一下理论知识,更多可参考: Roy Thomas Fielding 2000年的 博士论文 中 Chapter 5: Representational State Transfer (REST) 阮一峰:理解 RESTful 架构 简介 REST 是 Representational State Transfer 首字母缩写,翻译为 表现层状态转化 ,加上主语 资源 ,应为: 资源通过表现层进行状态转化 。 例如:服务端提供接口查询单个用户,返回数据格式可以是:JSON、XML、文本、HTML等,这就是资源的表现形式。客户端通过HTTP(HTTPS)协议传递某种格式(表现层)的数据给服务端来完成对资源的状态变更。 技术团队理解并统一遵循 RESTful 接口的规范,可避免杂乱的接口定义,使得接口顾名思义,提高效率。 接口组成 接口由HTTP动词、域名、版本、Endpoint组成。 GET https://example.com/api/v1/users Endpoint Endpoint 在 RESTful 中理解为资源,使用复数名词来命名。例如:用户 users。 版本 表示接口版本号,可直接放入URL

REST API 接口规范

岁酱吖の 提交于 2019-12-07 06:36:00
设计规范: 协议 :使用HTTPs协议,确保交互数据的传输安全。 域名 :应该尽量将API部署在专用域名之下(https://api.example.com) 版本控制 :将版本号放在URL或者Header中 路径 :只能包含名词,不能包含动词 过滤信息 : ?limit=10 ?offset=10 ?page=1 ?sortby=name *结果信息限制10条记录:limit/offset *page显示page号:page *排序:sortby Hypermedia API :在返回结果中提供相关资源的链接,连向其他API方法 验证 :确定用户是其申明的身份,比如提供账户的密码。 授权 :保证用户有对请求资源特点操作的权限。比如用户的私人信息只能自己能访问,其他人无法看到;有些特殊的操作只能管理员可以操作,其他用户有只读的权限等。 来源: CSDN 作者: lmm0513 链接: https://blog.csdn.net/lmm0513/article/details/89294959

如何设计一个 iOS 控件?(iOS 控件完全解析)

此生再无相见时 提交于 2019-12-07 03:45:48
[置顶] 如何设计一个 iOS 控件?(iOS 控件完全解析) 目录 (?) [+] 代码的等级:可编译、可运行、可测试、可读、可维护、可复用 前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征: 灵活性 低耦合 易拓展 易维护 通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各种环境,但是接口越少对外产生的依赖就越少,维护起来也更容易。通常一些前期看起来还不错的代码,往往也会随着时间加深慢慢“成长”,功能的增加也会带来新的接口,很不自觉地就加深了耦合度,在开发中时不时地进行一些重构工作很有必要。总之,尽量减少接口的数量,但有足够的定制空间,可以在一开始把接口全部隐藏起来,再根据实际需要慢慢放开。 自定义控件在 iOS 项目里很常见,通常页面之间入口很多,而且使用场景极有可能大不相同,比如一个 UIView 既可以以代码初始化,也可以以 xib的形式初始化,而我们是需要保证这两种操作都能产生同样的行为。本文将会讨论到以下几点: 选择正确的初始化方式 调整布局的时机 正确的处理 touches 方法 drawRectCALayer 与动画 UIControl