1. 程式人生 > >前後端協同開發神器--介面管理工具RAP使用入門

前後端協同開發神器--介面管理工具RAP使用入門

RAP是什麼

前後端協同開發其實就是個對接介面的過程,雙方把介面定義好就可以各自開始coding了,誰也不用等誰,開發完了再一起聯調。RAP是阿里內部使用的一個WEB介面管理工具,完全滿足企業級的API管理應用,除了定義介面形成文件約定,還有MOCK資料的功能,最重要的是已經開源。

RAP能做什麼

這裡寫圖片描述
從官網給出的這張圖,RAP可以做的不止是介面文件,但使用者手冊裡面提到後端自測和校驗工具Page Tester並不成熟,其實我根本沒有找到這個功能,ISSUE裡面有人問也沒有回答。關於自動化測試,使用者手冊裡面也說功能不成熟。所以RAP自帶可用的功能,目前看就只有:

  • 制定介面
  • MOCK資料

如何使用RAP

對介面文件安全有要求且有條件的團體或個人,可以自己部署一個私有的RAP伺服器,部署說明參考文件

如果只是自己開發些DEMO,為了方便前端MOCK資料,可以使用官方維護的服務rapapi.org。註冊過程很簡單,只要有個郵箱就可以註冊。成功登入後就來到主頁了:
這裡寫圖片描述

友情提醒:
我在rapapi.org首頁上通過團隊TAB看到了其他使用者定義的團隊和介面文件,所以你寫的介面其他人應該也可以看到。

文件管理

RAP上支援對介面按照 團隊業務線分組 三個層級管理。通過頂部導航欄“團隊”TAB可以進行建立和切換。

下面我結合一個簡單表格查詢的例子說明開發時如何使用RAP編寫介面和MOCK前端資料。

編寫介面文件

這裡寫圖片描述
可以看到同一個分組中還可以根據不同的模組,不同的頁面管理介面文件。GUI操作介面使用方法簡單清晰,我就不介紹怎麼寫文件了,參考使用者手冊。這裡我定義了一個列表分頁查詢的API,按照介面文件定義我編寫了下面的前端程式碼

 <!--HTML部分-->
    <div class="middle-content clearfix">
      <el-table :data="list" highlight-current-row style="width: 100%;" border>
        <el-table-column
prop="accont" label="賬號" min-width="120"> </el-table-column> <el-table-column prop="productName" label="商品名稱" min-width="120"> </el-table-column> <el-table-column prop="orderNo" label="訂單號" min-width="120"> </el-table-column> <el-table-column prop="payPeriod" label="分期總數" min-width="140" :formatter="formatPeriod" sortable> </el-table-column> <el-table-column prop="fee" label="費用" min-width="120" :formatter="formatFee"> </el-table-column> <el-table-column prop="other3" label="本期交易金額" min-width="140"> </el-table-column> <el-table-column prop="other4" label="已還本金" min-width="120"> </el-table-column> </el-table> <!--工具條--> <el-col :span="24" class="toolbar bottom-toolbar"> <el-pagination layout="sizes, prev, pager, next, jumper" v-if="total > pageSize" @current-change="handleCurrentChange" @size-change="handleSizeChange" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="total" style="float:right;"> </el-pagination> </el-col> </div>
//JS部分
export default {
  name: 'normal-table',
  data() {
    return {
      list:[],
      pageSize: 10,
      total: 400,
    };
  },
  created() {
    this.fetchData();
  },
  methods: {
    formatPeriod(row) {
      return `總期數:${row.payPeriod}期`;
    },
    formatFee(row) {
      return `¥${row.fee}`;
    },
    handleSizeChange(val) {
      console.log(`每頁 ${val} 條`);
    },
    handleCurrentChange(val) {
      this.currentPage = val;
      console.log(`當前頁: ${val}`);
    },
    async fetchData() {
      const result = await fetch(`http://XXX/normal-talbe/query.json`,
        {
          method: 'get',
          headers: {
            'Content-Type': 'application/json'
          },
          body: {

          }
        });
      if (result) {
        this.list = result.list;
        this.total = result.total;
      }
    },
  }

前端MOCK資料

在介面文件上定義MOCK規則

可以直接在RAP的介面文件上,通過mock.js的語法規則定義MOCK資料。我對錶格查詢介面定義如下MOCK規則:
這裡寫圖片描述
詳細說明參考mock.js語法規範

可以點選介面詳情右側紅色的“Mock資料”按鈕預覽MOCK的資料格式是否和預期的一樣,以進行調整。

如何獲取RAP伺服器上的MOCK資料

通過ULR http://{{domainName}}/mockjsdata/79/rap_mockjs_rules_demo.do? 即可獲取,其中79是介面文件的projectId,可以再介面編輯頁面的URL上看到
這裡寫圖片描述
改變我的JS程式碼獲取資料部分如下:

    async fetchData() {
      const result = await fetch(`http://{{rapdomian}}/mockjsdata/{{myprojectId}}/normal-talbe/query.json`,
        {
          method: 'get',
          headers: {
            'Content-Type': 'application/json'
          },
          body: {

          }
        });
      if (result) {
        this.list = result.list;
        this.total = result.total;
      }
    }

啟動專案就可以看到實際效果了:
這裡寫圖片描述

相關推薦

前後協同開發神器--介面管理工具RAP使用入門

RAP是什麼 前後端協同開發其實就是個對接介面的過程,雙方把介面定義好就可以各自開始coding了,誰也不用等誰,開發完了再一起聯調。RAP是阿里內部使用的一個WEB介面管理工具,完全滿足企業級的API管理應用,除了定義介面形成文件約定,還有MOCK資料的功能

前後協同開發,使用 GraphQL 正確的姿勢

內容來源:2018 年 06 月 09 日,有數派聯合創始人周文宇在“杭州第一屆 GraphQLParty—GraphQL與領域驅動帶來的協同價值”進行《Stratup使用GraphQL的姿勢》演講分享。IT 大咖說作為獨家視訊合作方,經主辦方和講者審閱授

10款最好用的MySQL資料庫客戶圖形介面管理工具

 MySQL 在過去由於效能高、成本低、可靠性好,已經成為最流行的開源資料庫,因此被廣泛地應用在 Internet 上的中小型網站中。隨著 MySQL 的不斷成熟,它也逐漸用於更多大規模網站和應用,比如維基百科、Google 和 Facebook 等網站。非常流行的開源軟

(Swagger)一個終端和後臺開發對api介面管理工具

Swagger 是一個規範和完整的框架,用於生成、描述、呼叫和視覺化 RESTful 風格的 Web 服務。總體目標是使客戶端和檔案系統作為伺服器以同樣的速度來更新。檔案的方法,引數和模型緊密整合到伺服器端的程式碼,允許API來始終保持同步。Swagger 讓部署管理和使用

webpack 前後分離開發介面除錯解決方案,proxyTable解決方案

如果你有單獨的後端開發伺服器 API,並且希望在同域名下發送 API 請求 ,那麼代理某些 URL 會很有用。 dev-server 使用了非常強大的 http-proxy-middleware 包。更多高階用法,請查閱其文件。 在 localhost:3000 上有後端服務的話,你可以這樣啟用代理:

前後分離開發介面定義mock 資料

現在開發的方式基本都採用了前後端分離的技術來實現,初期有頁面原型,後端程式碼沒有開發完成,前端工程師就不能開發前端頁面,這樣前端在初期就不能作業面設計,假資料是寫死的不是很靈活。於是有了mock的概念。mock介紹《圖片來自mock官網》 http://mockjs.com/

前後分離開發,跨域訪問的apche設置

itl www. 配置 Coding httpd服務 註意 modules enc require 1,如何讓Apache支持跨域訪問呢? 步驟: 修改httpd.conf,windows中對應的目錄是:C:\wamp\bin\apache\Apache2.4.4\con

spring boot + vue + element-ui全棧開發入門——前後整合開發

www. 傳統 eap 博客 css 溝通 協調 highlight closed 一、配置 思路是通過node的跨域配置來調用spring boot的rest api。 修改config\index.js文件,設置跨域配置proxyTable:

axios + mock.js模擬數據實現前後分離開發的實例代碼

log image 圖片 mage npm 新建 clas 就是 sta 首先就是必須安裝axios和mock.js npm install axios npm install mockjs 1. 然後在文檔src中新建一個mock.js文件,如圖 2. 在main.j

springMVC前後分離開發模式下支持跨域請求

xtend pat OS ping ioe exc auth ava request 1、web.xml中添加cors規則支持(請修改包名) <filter> <filter-name>cors</filter-name>

前後分離開發模式下後質量的保證 —— 單元測試

ats 閱讀 寫代碼 pen 介紹 最大 lose 基礎 每天 概述   在今天, 前後端分離已經是首選的一個開發模式。這對於後端團隊來說其實是一個好消息,減輕任務並且更專註。在測試方面,就更加依賴於單元測試對於API以及後端業務邏輯的較驗。當然單元測試並非在前後端分離流

談一談前後分離開發

前端 後端 開發 大家好,初來乍到,有點小緊張,寫得不好的請各位大佬多多批評指正。 我老板是個不懂技術的 boss,前天他找我去負責一個新項目,我內心一想,勞資早受夠了這些老古董項目的苦了,這次肯定要按我想法來搞了,開心。這裏說一下,我是寫Java的,之前一直在公司一直是維護別人寫的項目,祖傳代碼

2018 Vue+Django API前後分離開發電商新技術跨域項目實戰

link 選型 模塊 自動 ets 跨域 -a 百度網盤 項目 課程目標幫助大家快速入門Django REST framework這一個API框架。 幫助大家詳細了解Django REST framework中序列化、視圖、路由等模塊的使用。 幫助大家使用Django RE

Spring Boot帶前後 漸進式開發企業級博客系統

插件 探索 後端 search 用戶 文檔 安裝配置 ring 角色 第1章 Spring Boot 簡介 1-1 Spring Boot 博客_課程導學 1-2 Spring Boot 是什麽第2章 開啟 Spring Boot 的第一個 Web 項目 2-1

Mockjs--前後分離,模擬介面

什麼是Mockjs Mock.js官方網址:  首頁:http://mockjs.com/ 在Mockjs的官網中,就直接能看到這樣的一句話:生成隨機資料,攔截Ajax請求。 這句話集中體現了Mock.js能夠幹什麼! Mockjs的使用場景 如今,前端所承載的東西越來越多,前

Node+TS+Koa+vue 商城全棧(前後開發

課程目錄:1、Node、TS、Koa商城全棧開發遠端課介紹視訊2、Symbol與作用域(1)3、解構賦值與擴充套件運算子(1)4、字串、數字與物件擴充套件(1)5、迭代(1)6、函式擴充套件(1)7、箭頭函式(1)8、集合-Set物件(1)'9、1-let和const;10、2-變數的解構賦值11、

MySQL學習 二 圖形介面管理工具Navicat for MySQL安裝和使用

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

MariaDb資料庫管理系統學習(二)使用HeidiSQL資料庫圖形化介面管理工具

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

前後分離開發模式

前端系統的功能分為:UI邏輯和業務邏輯 業務邏輯統計遷移到後端,前端只關注互動 前期約定資料規範,前端人員可以自己mock資料進行自測,達到雙方並行開發,最後聯調提測   優點:後端業務邏輯能支援多個終端,不同的終端業務邏輯本質是一致的,只是使用者體驗的差異,在新的模式

API Manager PHP 介面管理工具

API Manager PHP 介面管理工具 下載地址:https://download.csdn.net/download/qq_19264385/10798697 介面開發過程中必不可少的的介面管理工具,今天推薦一個 API Manager 介面管理工具,是通過php編寫的超輕量