博客 / 詳情

返回

在30秒內創建一個REST API服務,前端小姐姐再也不催我了!

大家好,我是 Java陳序員

我們都知道,現在開發中,前後端分離是主流趨勢。

在企業開發中,一般是前後端雙方約定好接口交互的信息,根據接口文檔自行開發。這樣並行開發,能大大提高工作效率!

但是,理想很豐滿,現實很骨感!往往後端接口還沒開發好,前端小姐姐就在催後端接口要返回的數據。

本來我後端就沒開發完,她還總賴在這裏不走嘮嗑打擾我工作,好煩啊!

這時候就很需要有一個工具可以快速實現 Http 接口的服務!

今天,給大家介紹一個可以快速 Mock Http 請求的工具!30 秒內即可讓前端小姐姐閉嘴!

項目介紹

JSON Server —— 無需編碼,在不到 30 秒的時間內獲得一個完整的假 REST API

全局安裝:

npm install -g json-server

快速開始

首先需要創建一個用來存儲數據的 json 文件 db.json

{
  "books": [
    {
      "id": 1,
      "title": "西遊記",
      "author": "吳承恩"
    },
    {
      "id": 2,
      "title": "水滸傳",
      "author": "施耐庵"
    },
    {
      "id": 3,
      "title": "三國演義",
      "author": "羅貫中"
    },
    {
      "id": 4,
      "title": "紅樓夢",
      "author": "曹雪芹"
    }
  ],
  "users": [
    {
      "id": 1,
      "name": "Tom",
      "age": 10
    },
    {
      "id": 2,
      "name": "Jack",
      "age": 20
    },
    {
      "id": 3,
      "name": "Mary",
      "age": 30
    },
    {
      "id": 4,
      "name": "Jane",
      "age": 25
    },
    {
      "id": 5,
      "name": "Mike",
      "age": 18
    }
  ],
  "profile": {
    "nickname": "Java陳序員",
    "info": {
      "avater": "https://chencoding.top:8090/_media/logo_2.png",
      "address": "浙江省寧波市"
    }
  }
}

使用如下的命令,啓動 JSON Server

json-server --watch db.json

啓動 JSON Server

默認會啓動一個端口為 3000 的服務,也可以自定義修改端口號

在瀏覽器或 Postman 中訪問:

http://localhost:3000/books/1

請求數據

普通用法

訪問首頁:

GET http://localhost:3000

首頁

獲取整個 db 數據:

GET http://localhost:3000/db

獲取某個列表全部數據:

GET http://localhost:3000/books

根據 id 獲取數據:

GET http://localhost:3000/books/2

新增一條數據(id 默認會遞增):

POST http://localhost:3000/books

根據 id 修改數據:

PUT/PATCH http://localhost:3000/books/5

根據 id 刪除數據:

DELETE http://localhost:3000/books/5

進階用法

參數過濾:

GET http://localhost:3000/books?id=1&id=2
GET http://localhost:3000/books?title=三國演義&author=羅貫中
可以使用 . 來查詢過濾深層次的對象屬性
http://localhost:3000/profile?info.address=浙江

分頁查詢:

使用 _page 指定頁數,使用 _limit 指定每頁大小
不指定每頁大小,默認每頁 10 條
GET http://localhost:3000/users?_page=1
指定每頁大小
GET http://localhost:3000/users?_page=2&_limit=3

排序:

使用 _sort 指定要排序的字段,使用 _order 指定升降序

如按照 age 降序排列:

GET http://localhost:3000/users?_sort=age&_order=desc

切片:

GET http://localhost:3000/users?_start=2&_end=3
注意:切片是以集合元素的位置來分割集合列表,類似於數組中的 Array.slice.
包含 _start 位置的元素,不包含 _end 位置的元素!

運算符比較:

_gte: 大於等於

_let: 小於等於

_ne: 不等於

如查詢 20 <= age <= 30 的數據:

GET http://localhost:3000/users?age_gte=20&age_lte=30

模糊查詢:

使用 _like 模糊查詢,可以進行正則匹配

如查詢 name 中含有 a 的數據:

GET http://localhost:3000/users?name_like=a

全字段模糊查詢:

在路徑後面添加 q,可以用來模糊查詢所有屬性值含有共同值的數據。

如查詢書籍中,name、author 中都含有的數據:

GET http://localhost:3000/books?q=紅

全字段模糊查詢

樹形查詢:

使用 _embed 來查詢子元素中包含的數據
GET http://localhost:3000/profile?_embed=chen
使用 _expand 來查詢父元素中包含的數據
GET http://localhost:3000/profile?_expand=chen

高級用法

JSON Server 在啓動的時候還提供了一些命令參數,可以使用如下命令查看:

json-server --help

有以下的參數命令可以使用:

命令參數

如指定端口啓動:

指定端口啓動

剩餘的功能大家可自行探索!

總結

我們可以在不用編碼的情況下,使用 JSON Server 快速搭建出一個 REST API 服務,可以説是十分方便的!

我們不僅可以在開發階段中使用,也可以自己單獨做成一個簡單的服務,供自己或者他人在一些特定的場合下快速使用!

最後,貼上項目地址:

https://github.com/typicode/json-server

最後

推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行在線瀏覽:

https://chencoding.top:8090/#/
大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!
user avatar hebeiniunai 頭像
1 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.