一個超簡單的接口 Mock 工具升級版介紹,各位前端同學記得收藏哦!

一個超簡單的接口 Mock 工具升級版介紹,各位前端同學記得收藏哦!

這是一個我自己發起的項目,Github 地址是 https://github.com/fengcms/simple-mock ,其完整支持 RESTFul 接口的 Mock 服務。當然,支持非 RESTFul 風格接口也不在話下,關鍵是使用十分簡便。

我在接口演示文件裏面,演示了 RESTFul 標準寫法、分頁列表、上傳文件、登錄接口等等多種。通過簡單配置,還可以支持校驗登錄狀態。此外,還支持將其它的接口代理過來使用。

我本着最不需要額外學習的原則,開發的這個項目。其中的使用,都是純粹的 js 代碼而已。只要你有 js 編程基礎,那麼上手我這個 mock 項目,將不存在任何障礙!

下面是我的項目的介紹文案:


Simple mock server

這是一個簡單的支持 restful 風格的 mock 服務項目。

在互聯網上,有很多很多 mock 的項目,那麼我爲什麼要造這個輪子呢?很簡單,我怕麻煩。因此,我在 2018 年搞了這個項目。當時這個項目就可以完整的支持我的業務需求了。

但是到了 2020 年,我回頭來看這個項目,發現我當時寫的代碼水平有限,功能上雖然滿足了當時的需求,但是想要更強大一些的功能卻並不支持。

因此,我今年就抽時間,把這個項目好好的規劃了一下,重新發布了 2.0.0 版本。那麼現在看來,已經超額的滿足了我當前的需求了。


其實,這是一個很糾結的事情。爲什麼要造輪子?因爲怕麻煩。爲什麼要把這個項目搞複雜?因爲太簡單。那麼怎麼在簡單和麻煩之前保持一個平衡,這 TM 是個哲學問題!

這裏,我需要說明一下,我認爲的 麻煩 ,是指額外的學習成本。比如其他功能強大的 mock 項目,使用它,就得先學習它的很多規則。可是,mock 服務對於我們前端開發人員而言,只是一個過渡工具而已。當後端提供好真實的接口後,這玩意兒就隨風而去了。所以,爲了滿足這麼個小小的需求,增加學習成本,我是真的不願意。

而我開發這個項目的初衷就是,把模擬數據複製進去,然後就好了!只要看一下簡單的說明就會用了,不需要增加任何額外的學習成本。

因此,我的 2.0.0 的版本,依舊支持這種最簡單的方式。除此之外,爲了滿足更高級的一些需求,增加了一些功能,而這些功能都是純粹的 javascript,不需要學習額外的語法。你是前端,你就不用學習,能夠順利的使用這些高級功能。

甚至,說得誇張一點,如果你有時間,你完全可以用這個項目來構建一個真實的後端服務。當然,這在我看來是吃飽了撐的……


To 前端學習者:

如果你是在自學前端,或者自學 Nodejs, 希望成爲一個全棧工程師,那麼,在你的初學階段,研究我這個項目的源碼,也一定是可以收穫匪淺的。

如果你已經超過了這個階段,那麼 https://github.com/fengcms/restful-cms-koa 這個項目一定很適合你,這是一個完整的基於 nodejs 的後端 WEB 框架。目前,這個項目我沒有寫文檔,我會抽時間完善文檔的。

歡迎大家關注收藏我的博客 https://blog.csdn.net/fungleo ,博客上有不少乾貨,相信對於前端學習者來說,還是有價值的。

安裝

git clone https://github.com/fengcms/simple-mock

cd simple-mock

npm install

npm start

簡單配置

項目的配置文件在 config/index.js 文件中,每一個配置我都寫了詳細的註釋。

如上圖所示,簡單實用,只需要配置 prefix port hostdelay 這四個參數即可。

更多的配置以及功能,請查看 doc 目錄中的說明文檔。

簡單使用

所有的 mock 接口文件,全部放在 /api 目錄裏面。比如,你有一個叫 book 的接口,那麼,你就再 /api 目錄下面新建一個文件叫 book.js,然後,錄入基本結構如下:

module.exports = {
  name: '書本',
  info: '這是一個完整的 RESTFul 接口的演示文件',
  // GET POST /book 接口 的 Mock 數據
  list: {
    get: {},
    post: {}
  },
  // GET PUT DETETE /book/:id 接口 的 Mock 數據
  item: {
    get: {},
    put: {},
    delete: {}
  }
}

這是一個完整的 RESTFul 模擬接口的基礎文件結構。然後,你可以在分別對應的請求方法裏面,把你需要的模擬數據複製進去即可。詳細的演示代碼,可以查看 /api/book.js 文件。

如果,你不需要使用某些請求方法,那麼可以直接不寫就可以了。

導出對象中的 nameinfo 字段也是可以不寫得。寫這兩個字段是爲了便於管理維護,以及 mock 服務信息頁面上的接口介紹。如下圖所示:

如果你的項目需要多人維護的話,我個人建議還是寫上。

簡單測試

大家可以通過 postman 工具來對 mock 服務提供的接口進行測試,也可以通過 curl 命令來進行調試。如果大家對命令行調試接口有興趣,可以看我的兩篇文章:

《curl 模擬 GET\POST 請求,以及 curl post 上傳文件》

《linux 或 mac 命令行更優雅的使用 curl 命令,以及命令行常用的快捷鍵說明》

我這邊的測試截圖如下:

共同開發

我歡迎各位朋友來補充和完善我的這個項目,你可以 fork 我的項目,進行修改後,給我發起一個 PR,我會在審查代碼後進行合併。

我比較希望各位能夠發一些有意思的 mock 接口的演示,或者修復我沒有發現的問題和 BUG,亦或者幫助我完善一些文檔。

當然,如果你嫌麻煩,或者有好的建議,也可以直接發 Issues,我會回答,或者抽時間去完善你的好想法的哦!

Copyright and License

Copyright by FungLeo([email protected])

Blog: http://www.fengleo.com

License: MIT

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章