postman测试rest接口,postman测试api接口

  postman测试rest接口,postman测试api接口

  最近学了RESTful接口规范,用Postman介绍了一下。在这里,我将记录RESTful接口规范:

  1.什么是RESTful?

  REST:是web服务的一种架构风格;使用HTTP、URI、XML、JSON、HTML等流行的标准和协议;轻量级、跨平台、跨语言的架构设计;它是一种设计风格,不是一种标准,而是一种理念。

  Restful:对应的中文是RESTRestful web服务是一个常见的rest应用程序,它是一个rest风格的web服务。基于Rest的web服务是一种ROA(面向资源的架构)[推荐:web前端]

  RESTful的本质是一种软件架构风格,其核心是面向资源和解决问题:

  降低开发的复杂性,提高系统的可扩展性2.SOAP和REST的区别:

  SOAP(简单对象访问协议):一种用于交换数据的协议规范,它是一种轻量级的、简单的和基于XML的协议。

  REST(表述性状态转移):软件架构的一种风格,可以降低开发的复杂度,提高系统的可扩展性。

  效率和易用性:SOAP:由于各种需求不断扩充自身协议的内容,SOAP处理的性能有所下降。同时,易用性和学习成本也提高了。RESTful:由于其面向资源的接口设计和抽象的操作,简化了开发者不好的设计,同时充分利用了Http原有的应用协议设计理念。

  安全性:RESTful非常适合基于资源的服务接口,特别适合效率要求高,但安全性要求低的场景。SOAP的成熟度,可以给需要提供给多种开发语言、安全性要求高的界面设计带来便利。

  总之:安全性:肥皂会比休息好;效率和易用性:休息比较好;成熟度:综合来看,肥皂在成熟度上优于REST。

  3.如何设计RESTful API:资源路径:在RESTful架构中,每个URL代表一种资源,所以URL中不能有动词,只能有名词。一般来说,API中的名词应该是复数。

  HTTP动词:对资源(凝乳)的操作,由HTTP动词(谓词)表示。

  GET:从服务器获取资源(一个或多个项目)。POST:在服务器中创建新资源。PUT:更新服务器中的资源(客户端提供更改后的完整资源)。删除:从服务器中删除资源。以我们动物园为例(包括各种动物和员工信息):

  https://api.example.com/v1/zoos//Zoo资源公司

  https://api.example.com/v1/animals//Animal资源公司

  https://api.example.com/v1/employees//Employee资源POST /zoos:创建新动物园GET /zoos/ID:获取指定动物园的信息PUT /zoos/ID:更新指定动物园的信息DELETE /zoos/D:删除一个动物园过滤信息:

  ?Limit=10:指定返回的记录数?Offset=10:指定返回记录的起始位置。Page=2per_page=100:指定哪一页,以及每页的记录数。Sortby=nameorder=asc:指定返回结果的排序依据和排序顺序。Animal_type_id=1:指定过滤标准状态码:

  200 (OK)-如果现有资源已被改变201(已创建)-如果新资源已被创建202(已接受)-处理请求已被接受但尚未完成(异步处理)301(永久移动)-资源的URI已被更新303(见其他)-其他(例如, 负载均衡)400(坏请求)-指坏请求404(未找到)-资源不存在406(不可接受)-服务器不支持所需表示409(冲突)-通用冲突412(前提条件失败)-前提条件失败(如执行条件更新时的冲突)。 45(不支持的媒体类型)-不支持接收的表示500(内部服务器错误)-一般错误响应503(服务不可用)-服务目前无法处理请求错误处理:

  返回的信息以error作为键名,以错误信息作为键值。

  {

  错误:“无效的API密钥”

  }返回结果:

  获取/收藏:返回资源对象的列表(数组)获取/集合/资源:返回单个资源对象发布/收集:返回新生成的资源对象放置/收集/资源:返回完整的资源对象补丁/集合/资源:返回完整的资源对象删除/集合/资源:返回一个空文档4.REST风格的接口测试流程:

  我们直接用一张图来介绍吧5.代码编写和Postman测试:

  工具:idea,mysql数据库,邮递员

  数据库表数据:

  实体类:

  @数据

  @ApiModel(用户实体类)

  公共类用户扩展模型用户实现可序列化{

  @ApiModelProperty(用户id’)

  @NotNull(message=用户编号不能为空)

  私有整数id;

  @NotBlank(message=用户名不能为空)

  @ApiModelProperty(用户名)

  私有字符串名称;

  @Min(1)

  @最大值(100)

  @ApiModelProperty(用户年龄)

  私有整数年龄;

  @NotEmpty(message=邮箱不能为空)

  @ApiModelProperty(用户邮箱)

  @电子邮件

  私人字符串电子邮件;

  @ApiModelProperty(0:未删除1:已删除)

  @TableLogic

  私有整数已删除;

  @NotBlank(message=密码不能为空)

  @ApiModelProperty(用户密码)

  私有字符串密码;

  }控制器层的代码(服务层省略):

  @Api(tags=用户管理)

  @RestController

  @请求映射(/我的网站/用户)

  公共类用户控制器{

  @自动连线

  private UserServiceImpl UserServiceImpl;

  @ApiOperation(value=新增用户)

  @PostMapping

  public int insertUser(User user) {

  System.out.println(新增成功);

  返回userServiceimpl.insertUser(用户);

  }

  @ApiOperation(value=修改用户信息)

  @PutMapping

  公共void更新用户(@请求正文@有效用户用户){

  userServiceimpl.updateUser(用户);

  System.out.println(修改成功);

  }

  @ApiOperation(value=删除用户,注释=根据编号删除用户)

  @DeleteMapping(/{id} )

  public int deleteUser(@ApiParam(用户id )@路径变量@有效整数id) {

  System.out.println(删除成功);

  返回userserviceimpl。删除用户(id);

  }

  @ApiOperation(value=查询所有用户)

  @GetMapping

  公共列表用户allUser() {

  System.out.println(查询成功);

  返回userserviceimpl。all user();

  }

  @ApiOperation(value=id查询用户)

  @GetMapping(/{id} )

  公共用户selectById(@PathVariable(id )字符串id) {

  返回userserviceimpl。选择byid(id);

  }

  }利用邮递员测试(网址路径要对应上):查询所有用户:http://localhost:8081/我的网站/用户

  头:内容类型=应用程序/json

  正文:空

  查询成功!根据id查询:

  查询成功!新增用户:

  查看数据库新增成功!修改用户信息(修改编号为七的姓名和年龄):

  查看数据库修改成功!根据id删除用户:

  查看数据库删除成功!(已删除=1)

  可能你的是直接删除了整一条数据

  当查询或更新或删除不存在的数据时(或者数据不合法),都是执行失败的

  还有其他接口,例如删除所有等接口,这里不一一测试了

  若有不正确的地方,欢迎指出。以上就是安静的接口规范与邮递员调试工具介绍的详细内容,更多请关注我们其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: