博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件-URL地址设计
阅读量:6647 次
发布时间:2019-06-25

本文共 1971 字,大约阅读时间需要 6 分钟。

hot3.png

首先咱们来简单描述下场景,在进行URL地址的设计以及基础概念的巩固加深。

 

一、需求分析

       (1)、当前用户进度“客户管理”模块是,可通过列表方式来查看所有客户。

       (2)​、可通过“客户名称”关键字进行模糊查询。

       (3)​、单击客户列表中的“客户名称”连接,可查看客户基本信息。

       (4)​、单击“新增按钮”,进入“新增客户”界面,可新增客户基本信息。

       (5)​、单击客户列表中的“编辑”按钮,进入“编辑客户”界面,可更新客户基本信息。

       (6)​、单击客户列表中的“删除”按钮,可删除当前所选择的客户,需提示是否删除。

 

由以上信息我们可以得出用户希望我们提供一个“客户管理”模块,其中包含了对客户的新增、修改、删除、查询等功能。(需求分析是一件很复杂的过程,再次不做过多介绍。有兴趣的朋友可以自行查阅资料学习。)

二、设计表结构​

 

  customer表结构

 字段名  数据类型  是否为空  字段描述
 pk_id INT √   ID(自增主键)
 name VARCHAR(255)   √   客户名称
 contact  VARCHAR(255)   √  联系人 
 telephone VARCHAR(255)    —  电话号码
 fk_org_id  VARCHAR(255)   —  部门ID(外键)
 remark  TEXT  —  备注

 

       关于表结构的设计,有如下建议:

  • 建议表名与字段名均为小写,若多个 单词可用“下划线”分割,长度控制在15个字节以内;
  • 建议每张表都要有唯一的主键字段,且字段名都为pk_id,可使用自增长主键。
  • 建议所有的外键表id都以fk+表名+id,区分主外键关系。
  • 数据类型尽可能统一,不要出现太多的数据类型

三、设计原型页面

 

使用Axure软件,我们可以快速的画出原型界面。

还有其他相关界面在此没有一一举例列出,如:查看客户、创建客户、编辑客户等,这些都需要在设计文档中提现出来(个人喜欢叫WBS或需求文档)。

 

四、设计URL地址

 

终于到咱们关注的主题了,通过界面质检的跳转与操作,我们可以分析出以下URL

 

 URL  描述
GET:/customer 进入“客户列表”界面
POST:/customer_search 查询客户 
GET:/customer_show?id={id} 进入“查看客户”界面
GET:/customer_create 进入“创建客户”界面
POST:/customer_create 创建客户
GET:/customer_edit?id={id}  进入“编辑客户”界面
PUT:/customer_edit?id={id} 编辑客户
DELETE:/customer_delete?id={id} 删除客户

 

  1. POST /uri 创建  
  2. DELETE /uri/xxx 删除   
  3. PUT /uri/xxx 更新或创建  
  4. GET /uri/xxx 查看  
  • GET:操作是安全的。所谓安全是指不管进行多少次操作,资源的状态都不会改变。比如我用GET浏览文章,不管浏览多少次,那篇文章还在那,没有变化。当然,你可能说每浏览一次文章,文章的浏览数就加一,这不也改变了资源的状态么?这并不矛盾,因为这个改变不是GET操作引起的,而是用户自己设定的服务端逻辑造成的。
  • PUT、DELETE:操作是幂等的。所谓幂等是指不管进行多少次操作,结果都一样。比如我用PUT修改一篇文章,然后在做同样的操作,每次操作后的结果并没有不同,DELETE也是一样。顺便说一句,因为GET操作是安全的,所以它自然也是幂等的。
  • POST:操作既不是安全的,也不是幂等的,比如常见的POST重复加载问题:当我们多次发出同样的POST请求后,其结果是创建出了若干的资源。

 

 方法  是否安全  幂等
 GET  是   是
 PUT  否   是
 DELETE  否   是
 POST  否   否

 

安全和幂等的意义在于:当操作没有达到预期的目标时,我们可以不停的重试,而不会对资源产生副作用。从这个意义上说,POST操作往往是有害的,但很多时候我们还是不得不使用它。(由于这块设计到了uri,今后会在写一篇关于URI、URL、URN之间的区别)

 

幂等:是一个数学或计算机学概念,常见于抽象代数中。幂等有一下几种定义:

  • 对于单目运算,如果一个运算对于在范围内的所有的一个数多次进行该运算所得的结果和进行一次该运算所得的结果是一样的,那么我们就称该运算是幂等的。比如绝对值运算就是一个例子,在实数集中,有abs(a)=abs(abs(a))。
  • 对于双目运算,则要求当参与运算的两个值是等值的情况下,如果满足运算结果与参与运算的两个值相等,则称该运算幂等,如求两个数的最大值的函数,有在在实数集中幂等,即max(x,x) = x。

转载于:https://my.oschina.net/Clarences/blog/895085

你可能感兴趣的文章
【原创】MySQL 模拟Oracle邻接模型树形处理
查看>>
SSD上如何进行数据保护?
查看>>
Verizon:2012年数据破坏调查报告
查看>>
今日你以老师为荣,明日老师以你为荣!
查看>>
华为交换机VRP用户界面配置及Telnet登录实验
查看>>
Cobbler无人值守安装系统史上最细实践文档
查看>>
第11章代码《跟老男孩学习Linux运维:Shell高级编程实战》
查看>>
一个资深系统管理员的O2O实践(二)
查看>>
ovs-vsctl emer-reset一个需要慎用的命令
查看>>
LVM配置与管理
查看>>
PIX8.0与两个PIX8.0建立L2L ***
查看>>
PowerHA Daily management
查看>>
SAP R3 define bank info
查看>>
我的第100篇博客
查看>>
一图胜千言 -- SQL Server 日常运维
查看>>
screen:一款开源的会话保持软件
查看>>
python计算春节倒计时
查看>>
IOS测试入门必看
查看>>
年末至,思乡浓,致敬北漂(邯郸人有彩蛋)
查看>>
数据库设计文档模板
查看>>