YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理

这篇具有很好参考价值的文章主要介绍了YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

新建项目

  1. 点击右上角的 + 新建项目,进入新建项目页面:

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

  2. 完善项目信息,指定项目所属分组,点击【+创建项目】:

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

    注:权限公开私有可以在项目创建之后进行设置。

  3. 查看创建好的项目:

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

  4. 在项目页点击上方的 设置 Tab 进入项目设置面板,这个面板涵盖了项目的所有配置:

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

修改项目图标

在【项目配置】页点击项目图标,可以修改图标及背景色:

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

项目迁移

YApi 中支持项目迁移到不同的分组中:

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

迁移权限: 只有管理员和该项目的 owner 有权限对位置进行修改。项目 owner 主要有创建该项目的人、项目中的组长、创建分组的人、分组中的组长。

注:owner 权限判断的优先级是 项目权限 > 分组权限

项目拷贝

  1. 该功能在 v1.3.12 版本上线,项目克隆功能可复制项目全部接口到一个新项目,如下图所示,点击红色框里面的 icon 使用。

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

    注:如果你在该分组下有新建项目的权限,那你也同时拥有复制项目的权限

  2. 点击下图左上角的复制按钮,在弹窗中写入复制项目名称点击确定就可以完成项目复制:

    YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

    注:YApi 支持项目复制功能,但是无法复制项目中的测试集合 list。

删除项目

点击下方的删除按钮:

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

输入项目名称进行删除:

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

配置环境

环境配置 一项可以添加该项目下接口的实际环境,供 接口测试 使用,这里增加了全局 header,可以在项目中设置全局 header 值。在接口运行页面的选择环境 select 中也增加环境配置弹层。

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

v1.3.21 新增全局变量,用户可以在环境列表中定义全局变量的名称和值, 接口运行或者测试集合里面可以通过 {{ global.token }} 来访问当前环境变量下定义的全局变量:

YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理,YApi,yapi,服务器,数据库

请求配置

pre-script,通过自定义 js 脚本方式修改请求的参数和返回的 response 数据。

请求参数示例

以 jquery ajax 为例,假设当前的请求参数是:

{
  url: '/api/user?id=1',
  method: 'POST',
  headers: {
    xxx: 'xxx'
  },
  data: {
    type: 1
  }
}

那么公共变量 context 包含以下属性:

context = {
  pathname: '/api/user',
  query: {
    id: 1
  },
  requestHeader: {
    xxx: 'xxx'
  },
  method: 'POST',
  requestBody: {
    type:1
  }
}

假设我们需要在一组接口的 url 上增加一个公共的 token 参数,可以写如下自定义脚本:

context.query.token = context.utils.md5(context.pathname + 'salt');

返回数据示例

在上面的示例请求完成后,假设返回 responseData={a:1},公共变量 context 包含以下属性:

context = {
  pathname: '/api/user',
  query: {
    id: 1
  },
  requestHeader: {
    xxx: 'xxx'
  },
  method: 'POST',
  requestBody: {
    type:1
  },
  responseData: {
    a:1
  },
  responseHeader: {
    content-type: 'application/json'
    ...
  }
}

假设我们需要修改响应数据 responseData a 的值为 2,可以填写如下自定义脚本:

context.responseData.a = 2;

(v1.3.16+新增)context.href 和 context.hostname
(v1.3.17+新增)context.caseId 测试用例的唯一 key 值

storage

storage.setItem 兼容浏览器和服务端,并且是持久化数据存储,不会丢失,用法类似于 localStorage。 storage 一共两个 api,分别是 setItem 和 getItem

storage.setItem('xxx', 'token-----xxxxx')
context.query.token = storage.getItem('xxx')

工具函数

context.utils = {
  _         //underscore 函数,详细 API 查看官网 http://underscorejs.org/
  CryptoJS  // crypto-js(v1.3.21+新增), 详细用法看 https://github.com/brix/crypto-js
  base64    //转换字符串为 base64 编码
  md5       //转换字符串为 md5 编码
  sha1      //转换字符串为 sha1 编码
  sha224    //转换字符串为 sha224 编码
  sha256    //转换字符串为 sha256 编码
  sha384    //转换字符串为 sha384 编码
  sha512    //转换字符串为 sha512 编码
  unbase64  //转换 base64 编码为字符串  
  axios     // axios 库,可用于 api 请求,官网 https://github.com/axios/axios
}

CryptoJS 具体用法

var data = [{ id: 1 }, { id: 2 }];

// Encrypt
var ciphertext = context.utils.CryptoJS.AES.encrypt(JSON.stringify(data), 'secret key 123');

// Decrypt
var bytes = context.utils.CryptoJS.AES.decrypt(ciphertext.toString(), 'secret key 123');
var decryptedData = JSON.parse(bytes.toString(CryptoJS.enc.Utf8));

console.log('decryptedData', decryptedData);

异步处理(v1.3.13+支持)

处理请求参数,或返回数据,可能还会涉及到异步处理,比如 ajax 请求,YApi 在 v1.3.13 版本支持了异步处理。

context.promise = new Promise(function(resolve) {
  var api = context.utils.axios.get('http://yapi.local.qunar.com:3000/api/user/status');
  api.then(function(result) {
    //...
    console.log(result.data);
    resolve();
  });
});

promise 还可以来设置接口延迟

context.promise = new Promise(function(resolve) {
  setTimeout(function() {
    console.log('delay 1000ms');
    resolve('ok');
  }, 1000);
});

使用方法就是在 context 里面添加 promise 参数,并且返回一个 Promise,不熟悉 Promise 的童鞋可以查下相关用法,ajax 请求可以使用 context.utils.axios 库。

处理完成后,不要忘记 resolve(),不然会一直处于挂起状态

token

每个项目都有唯一的标识 token,用户可以使用这个 token 值来请求 openapi。

openapi 文档地址

全局mock

v1.3.21 新增全局 mock 设置,方便用户在项目层面上全局设置公共的mock数据,具体 mock 脚本详细使用方法详见 自定义 Mock 脚本

Mock 优先级说明

请求 Mock 数据时,规则匹配优先级:Mock 期望 > 自定义 Mock 脚本 > 项目全局 mock 脚本 > 普通 Mock。

如果前面匹配到 Mock 数据,后面 Mock 则不返回。文章来源地址https://www.toymoban.com/news/detail-533851.html

到了这里,关于YApi-高效、易用、功能强大的可视化接口管理平台——(三)YApi 项目管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 4 | 深入了解Pandas强大功能

    Pandas是Python中最受欢迎的数据处理库之一,它提供了丰富的功能,使得数据的读取、处理、分析和可视化变得异常便捷。本教程将着重介绍Pandas中一些强大功能,以及如何利用这些功能处理和操作数据。我们将通过实际代码示例和详细解释,带您深入了解Pandas的 聚合操作、数

    2024年02月16日
    浏览(40)
  • 一个功能强大、好看的vue表格组件

    今天给大家推荐一个好用、强大的Vue表格扩展组件。 这是支持Vue 3/Vue 2的一个表格组件,支持表格增删改、虚拟表格、复杂表格、树形表格、数据校验、懒加载、分页、弹窗、单元格样式设置、按钮自定义样式、表头样式、单元格合等功能。 组件兼容各大浏览器、高效整洁的

    2024年02月16日
    浏览(42)
  • 带有强大提醒功能的电脑便签工具

    在这个充满节奏感的现代生活中,每一天都需要精确规划和提醒,以确保工作计划得以按时完成。为了做到这一点,你需要一款强大的电脑便签工具,它不仅能让你记录工作计划,还能在关键时刻提醒你。 在电脑上记录工作计划是一项关键任务,而敬业签提供了强大的功能,

    2024年02月08日
    浏览(41)
  • 强大的Flutter App升级功能

    注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造成用户无法升级,应用程序的bug或者新功能老用户无法触达,甚至损失这部分用户。 对于应用程序升级功能的重要性就无需赘

    2024年04月15日
    浏览(41)
  • 一款功能强大的子域收集工具OneForAll

    借助官方的宣传简介阐述一下: 在渗透测试中信息收集的重要性不言而喻,子域收集是信息收集中必不可少且非常重要的一环,目前网上也开源了许多子域收集的工具,但是总是存在以下部分问题: 不够强大,子域收集的接口不够多,不能做到对批量子域自动收集,没有自

    2024年02月16日
    浏览(48)
  • 【IDEA】IDEA 版 Postman 新版发布,功能强大!

    Restful Fast Request 是 IDEA 版 Postman,它是一个强大的 restful api 工具包插件,可以根据已有的方法帮助您快速生成 url 和 params。Restful Fast Request = API 调试工具 + API 管理工具 + API 搜索工具。它有一个漂亮的界面来完成请求、检查服务器响应、存储你的 api 请求和导出 api 请求,插件

    2024年02月13日
    浏览(73)
  • 开源简单方便功能强大的Devops工具:Goploy

    Goploy:加速您的DevOps旅程,拥抱无缝部署——选择Goploy,让您从繁琐的发布与回滚中解放出来,尽享高效、智能与便捷的自动化部署力量! - 精选真开源,释放新价值。 现在大部分流行的发布工具功能虽然强大,但是配置较为麻烦,上手难度大,中小型项目难以使用。而

    2024年04月17日
    浏览(37)
  • Vim是一款功能强大的文本编辑器

    简介: Vim是一款功能强大的文本编辑器,广泛用于Linux系统。以下是Vim编辑器的基本使用方法: 打开文件: 使用vim命令加上要编辑的文件名,例如:vim filename。 进入编辑模式: 在Vim中,有多种模式,初始状态是命令模式,需要按下i键或a键进入编辑模式。 编辑文本: 在编

    2024年04月23日
    浏览(47)
  • Python系列(1):简洁优雅,功能强大的编程语言

    在当今的编程世界中,Python已经成为了一种无处不在的语言。它不仅简单易学,而且功能强大,支持多种编程范式,包括面向对象编程、函数式编程和过程式编程。本篇文章将深入探讨Python的特性和应用领域。 简洁的语法 :Python的语法清晰、简洁,使得代码易于阅读和编写

    2024年01月21日
    浏览(54)
  • 功能强大的无数据库图床EasyImage

    继加蓬政府收回 GA 域名后,马里政府也回收了 ML 域名,虽然原因不同,但前一天还能访问的 https://laosu.ml 已经用不了了,老苏重新调整 Links ,如果图片加载不出来,可能会需要魔法的加持 站点 域名 主站(Vercel) https://laosu.cf https://wbsu2003.vercel.app 备站(Gitee) https://wbsu20

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包