RESTful学习和Postman调试

  • 什么是RESTful
  • SOAP和REST的区别
  • 如何设计RESTFul风格API(动物园为例)
  • REST风格的接口测试流程
  • 如何编写功能测试计划
  • 如何使用Postman验证测试用例


什么是RESTful

本质:是一种软件架构风格
核心:是面向资源
解决的问题:降低开发的复杂性,提高系统的可伸缩性
设计概念和准则:
网络上的所有事物都可以被抽象成为资源
每个资源都要唯一的资源标识符,对资源的操作不会改变这些标识
所有的操作都是无状态的
资源:就是网络的一个实体,或者说是网络上的一个具体信息(eg:一段文本,一张图片,一首歌曲,一段视频都可成为资源)

SOAP和REST的区别

SOAP WebService:
是一种跨编程语言和跨操作系统平台的远程调用技术;WebService通过HTTP协议发送请求和接受结果时采用XML格式封装,并增加一些特定的HTTP消息头,这些特定的HTTP消息头和xml内容格式就是SOAP协议
效率和易用性:
SOAP由于各种需求不断扩充其本身协议的内容,导致在SOAP处理方面的性能有所下降。同时在学习成本和易用性上面也有所增加
RESTful由于其面向资源接口设计以及操作抽象简化了开发者的不良设计,同时最大限度的利用了Http最初的应用协议设计理念
安全性:
RESTful风格对于资源型服务接口来说很合适,同时特别适合对于效率要求很高,但是对于安全要求不高的场景
SOAP的成熟性可以给需要提供多开发语言的,对于安全性要求较高的接口带来便利。

如何设计RESTFul风格API(动物园为例)

资源路径:
在RESTFul架构中,每个网址代表一种资源,所以网址中不能有动词,只能有名词。一般来说API中的名词应该使用复数
举例:
有一个api提供动物园zoo的信息,还包括各种动物和雇员的信息,则它的路径应该设计成下面这样
https://api.example.com/v1/zoos //动物园资源
https://api.example.com/v1/ansmals //动物资源
https://api.example.com/v1/employees //雇员资源
HTTP动词:
对于资源的操作(CRUD),由HTTP动词(谓词)表示
GET:从服务器获取资源(一项或多项)eg:/zoos/ID 获取某个指定动物园的信息
POST:在服务器新建一个资源,eg:/zoos 新建一个动物园
PUT:在服务器更新资源(客户端提供改变后的完整资源)eg:/zoos/ID 更新某个指定动物园的信息
PATCH:在服务器更新资源(客户端提供改变的属性)
DELETE:从服务器删除资源 eg:/zoos/ID 删除某个动物园信息

REST风格的接口测试流程

了解接口格式-》编写测试用例-》测试用例评审-》开始测试-》完成测试报告-》结束

如何编写功能测试计划

需求描述:
GET: http://localhost:8080/MyWebsite/user/
Header: Content-Type = application/json
Body: 空
Response: 返回所有User对象
Status code: 200

GET: http://localhost:8080/MyWebsite/user/{id}
Header: Content-Type = application/json
Body: 空
Response: 返回指定id的User对象
Status code: 200

POST: http://localhost:8080/MyWebsite/user
Header: Content-Type = application/json
Body: name(String类型,不为空不可重复),age(int类型,在0~100),salary(double类型)
Response: 新加User对象
Status code: 201

PUT: http://localhost:8080/MyWebsite/user/{id}
Header: Content-Type = application/json
Body: name(String类型,不为空不可重复),age(int类型,在0~100),salary(double类型)
Response: 修改User对象
Status code: 200

DELETE: http://localhost:8080/MyWebsite/user/{id}
Header: Content-Type = application/json
Body: 空
Response: 删除id的User对象
Status code: 204

DELETE: http://localhost:8080/MyWebsite/user

Header: Content-Type = application/json

Body: 空

Response: 删除所有的User对象

Status code: 204

restful中post请求怎么传递参数_https


测试计划:

restful中post请求怎么传递参数_https_02


restful中post请求怎么传递参数_User_03


restful中post请求怎么传递参数_User_04

如何使用Postman验证测试用例

restful中post请求怎么传递参数_java_05


restful中post请求怎么传递参数_https_06


restful中post请求怎么传递参数_https_07


restful中post请求怎么传递参数_restful_08