Apiary 版控

有些公司會使用 swagger 或是其他的 Api 管理系統來同步 API 文件的規格,但都會遇到版本控管的問題,前者雖然是自動產生的文件,但仍然可以透過 github 的異動紀錄找到,然而後者比較依賴的卻是文件的完整性,若是多個使用者同步更新則會有後蓋前的問題產生,那該怎麼追蹤以還原呢?

Apiary 是一個蠻好用的 api 文件管理系統,也跟 swagger 一樣支援了線上測試的功能外,另一個就是版本控制的功能

在 Api 上的編輯也會花上不少時間,但辛辛苦苦的內容如果同時被線上的另一名同事給覆蓋掉了可說是會欲哭無淚

所幸 Apiary 保留了版本記錄的功能,甚至跟 github 一樣也有 diff 的功能,告訴你這個版本的差異程度

有興趣的人可以先至 https://apiary.io/ 申請帳號使用看看

透過新增 API project 的功能, apiary 會幫你生成一個獨立無二的網址

在 editor 的功能可以編輯你想要的 api 文件內容,甚至也可以讓相關所需的人員進來編輯

他所支援的控版功能不只本身的部份,也可以將內容綁定至 github 的帳號上呢

當編輯完成按完儲存後,可以透過 apiary 的工具知道這期間的更新過程

詳情可以參考官方文件,上面寫的相當清楚簡單

透過這個連結即會拿到

https://{your api project name}.docs.apiary.io/feed/rss

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>test changes</title>
        <description>Feed of test changes</description>
        <link>https://testxxx.docs.apiary.io/feed</link>
        <lastBuildDate>Sat, 25 May 2019 07:40:59 GMT</lastBuildDate>
        <docs>http://blogs.law.harvard.edu/tech/rss</docs>
        <generator>Feed for Node.js</generator>
        <item>
            <title><![CDATA[test changed]]></title>
            <link>https://app.apiary.io/testxxx/diff/5ce8edbb1ee30926000f1659</link>
            <guid>https://app.apiary.io/testxxx/diff/5ce8edbb1ee30926000f1659</guid>
            <pubDate>Sat, 25 May 2019 07:24:43 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[test changed]]></title>
            <link>https://app.apiary.io/testxxx/diff/5a7c1b71c5738e070045402b</link>
            <guid>https://app.apiary.io/testxxx/diff/5a7c1b71c5738e070045402b</guid>
            <pubDate>Thu, 08 Feb 2018 09:42:09 GMT</pubDate>
        </item>
    </channel>
</rss>

item 層裡面的資料就是我們所需要的 url,貼至瀏覽器即會發現相當清楚的差異內容了

要還原的方式也非常簡單,只要將你要回復的資料貼回去至 editor 即可完成

參考資料

https://help.apiary.io/tools/version-history/