当前位置: 首页>编程语言>正文

RESTFUL接口测试工具 restful接口例子

作者:lizhonglin
github: https://github.com/Leezhonglin/
blog: https://leezhonglin.github.io/

基于flask的restfulAPI项目实现

了解到一段时间的restfulAPI实现,通用面向对象的用户、角色、权限管理的项目案例来阐述是如何实现restfulAPI接口的实现,今天有空来整理一下。

项目中权限是参照标准的RBAC. 来实现,有良好的扩展性。数据库访问、业务层、接口层分离。保障了代码的可扩展性。基于面向对象的思想实现本项目。具体实现见下面介绍。

1、什么是restful?

RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。具体详细内容自行百度,并不是本文的重点。

RESTFUL特点包括:

1、每一个URI代表1种资源;

2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;

3、通过操作资源的表现形式来操作资源;

4、资源的表现形式是XML或者HTML;

5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

本项目中主要使用的请求类型的定义:

GET: 获取资源信息

POST: 添加资源信息

PUT: 修改资源信息

DELETE: 删除资源信息

2、项目目录结构

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_XML,第1张

3、项目架构图

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_RESTFUL接口测试工具_02,第2张

4、项目数据库设计图

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_github_03,第3张

5、项目具体介绍
5.1 项目URi 定义
# 部门管理
'http://{host}:{port}/li-boss/<version>/department',
'http://{host}:{port}/li-boss/<version>/department/<int:dpt_id>'

# 部门人员
'http://{host}:{port}/li-boss/<version>/department/staff/<int:dpt_id>'
# 用户
'http://{host}:{port}/li-boss/<version>/user',
'http://{host}:{port}/li-boss/<version>/user/<int:user_id>',

# 密码
'http://{host}:{port}/li-boss/<version>/user/<int:user_id>/password'

# 基本信息修改
'http://{host}:{port}/li-boss/<version>/user/<int:user_id>/base/info'

# 角色
'http://{host}:{port}/li-boss/<version>/role',
'http://{host}:{port}/li-boss/<version>/role/<int:role_id>'

#  角色权限
'http://{host}:{port}/li-boss/<version>/role/<role_id>/permission'


# 权限
'http://{host}:{port}/li-boss/<version>/permission'

# 用户组
'http://{host}:{port}/li-boss/<version>/user/group',
'http://{host}:{port}/li-boss/<version>/user/group/<int:group_id>'

# 用户组成员
'http://{host}:{port}/li-boss/<version>/user/group/<int:group_id>/staff'

# 获取用户组的角色信息
'http://{host}:{port}/li-boss/<version>/user/group/<int:group_id>/role'

# 登陆
'http://{host}:{port}/li-boss/<version>/login'
5.2 项目请求和响应

本项目支持两种数据请求和响应格式。分别是的JSONXML.如果需要使用XML请求的话需要在URL后面加上 ?format=xml.就可以正常的获取到XML格式的数据。

5.3 请求示例

JSON

这是一个json请求不需要代token的时候的示例:

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_github_04,第4张

加了验证的需要选择Bearer Token 验证模式。这是一个JSON需要带token验证的请求示例:

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_RESTFUL接口测试工具_05,第5张

XML

这是一个XML请求不需要代token的时候的示例:

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_JSON_06,第6张

加了验证的需要选择Bearer Token 验证模式。这是一个XML需要带token验证的请求示例:

RESTFUL接口测试工具 restful接口例子,RESTFUL接口测试工具 restful接口例子_XML_07,第7张

6. 具体代码实现

由于本项目代码内容比较多我就不贴代码到这个位置了。详细代码地址放github上面了。项目地址


https://www.xamrdz.com/lan/5cc1961412.html

相关文章: