快速創建模擬 REST API
JSON Server 是一個用于快速創建模擬 REST API 的工具,主要用在前端開發和原型設計中。
主要特點
零編碼:只需一個 JSON 文件即可創建完整的 API
RESTful:自動提供完整的 REST API 端點
真實 HTTP:使用真實的 HTTP 請求(GET、POST、PUT、DELETE 等)
安裝和使用
bash
安裝
npm install -g json-server
創建 db.json 文件
{
"code":200,
"recordcounts":24,
"posts": [
{
"id": 1,
"project": "XX高速公路項目",
"contract": "HT2023001",
"days": 15,
"reason": "天氣原因",
"applyDate": "2023-05-10",
"status": "completed",
"details": {
"applicant": "張三",
"department": "工程部",
"contact": "13800138000",
"amount": "125,000元",
"approval": "李四",
"approvalDate": "2023-05-25"
}
},
{
"id": 2,
"project": "YY大橋建設項目",
"contract": "HT2023005",
"days": 30,
"reason": "設計變更",
"applyDate": "2023-06-15",
"status": "pending",
"details": {
"applicant": "王五",
"department": "設計部",
"contact": "13900139000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 3,
"project": "ZZ市政工程",
"contract": "HT2023012",
"days": 7,
"reason": "材料供應延遲",
"applyDate": "2023-07-03",
"status": "completed",
"details": {
"applicant": "趙六",
"department": "采購部",
"contact": "13700137000",
"amount": "45,800元",
"approval": "錢七",
"approvalDate": "2023-07-15"
}
},
{
"id": 4,
"project": "AA水利工程",
"contract": "HT2023020",
"days": 45,
"reason": "政策調整",
"applyDate": "2023-08-22",
"status": "pending",
"details": {
"applicant": "孫八",
"department": "項目部",
"contact": "13600136000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 5,
"project": "BB城市改造項目",
"contract": "HT2023025",
"days": 20,
"reason": "居民協調問題",
"applyDate": "2023-09-10",
"status": "completed",
"details": {
"applicant": "周九",
"department": "協調部",
"contact": "13500135000",
"amount": "89,500元",
"approval": "吳十",
"approvalDate": "2023-09-30"
}
},
{
"id": 6,
"project": "CC電力工程",
"contract": "HT2023030",
"days": 12,
"reason": "設備故障",
"applyDate": "2023-10-05",
"status": "completed",
"details": {
"applicant": "鄭十一",
"department": "電力部",
"contact": "13400134000",
"amount": "67,300元",
"approval": "王十二",
"approvalDate": "2023-10-20"
}
},
{
"id": 7,
"project": "XX高速公路項目",
"contract": "HT2023001",
"days": 15,
"reason": "天氣原因",
"applyDate": "2023-05-10",
"status": "completed",
"details": {
"applicant": "張三",
"department": "工程部",
"contact": "13800138000",
"amount": "125,000元",
"approval": "李四",
"approvalDate": "2023-05-25"
}
},
{
"id": 8,
"project": "YY大橋建設項目",
"contract": "HT2023005",
"days": 30,
"reason": "設計變更",
"applyDate": "2023-06-15",
"status": "pending",
"details": {
"applicant": "王五",
"department": "設計部",
"contact": "13900139000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 9,
"project": "ZZ市政工程",
"contract": "HT2023012",
"days": 7,
"reason": "材料供應延遲",
"applyDate": "2023-07-03",
"status": "completed",
"details": {
"applicant": "趙六",
"department": "采購部",
"contact": "13700137000",
"amount": "45,800元",
"approval": "錢七",
"approvalDate": "2023-07-15"
}
},
{
"id": 10,
"project": "AA水利工程",
"contract": "HT2023020",
"days": 45,
"reason": "政策調整",
"applyDate": "2023-08-22",
"status": "pending",
"details": {
"applicant": "孫八",
"department": "項目部",
"contact": "13600136000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 11,
"project": "BB城市改造項目",
"contract": "HT2023025",
"days": 20,
"reason": "居民協調問題",
"applyDate": "2023-09-10",
"status": "completed",
"details": {
"applicant": "周九",
"department": "協調部",
"contact": "13500135000",
"amount": "89,500元",
"approval": "吳十",
"approvalDate": "2023-09-30"
}
},
{
"id": 12,
"project": "CC電力工程",
"contract": "HT2023030",
"days": 12,
"reason": "設備故障",
"applyDate": "2023-10-05",
"status": "completed",
"details": {
"applicant": "鄭十一",
"department": "電力部",
"contact": "13400134000",
"amount": "67,300元",
"approval": "王十二",
"approvalDate": "2023-10-20"
}
},{
"id": 13,
"project": "XX高速公路項目",
"contract": "HT2023001",
"days": 15,
"reason": "天氣原因",
"applyDate": "2023-05-10",
"status": "completed",
"details": {
"applicant": "張三",
"department": "工程部",
"contact": "13800138000",
"amount": "125,000元",
"approval": "李四",
"approvalDate": "2023-05-25"
}
},
{
"id": 14,
"project": "YY大橋建設項目",
"contract": "HT2023005",
"days": 30,
"reason": "設計變更",
"applyDate": "2023-06-15",
"status": "pending",
"details": {
"applicant": "王五",
"department": "設計部",
"contact": "13900139000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 15,
"project": "ZZ市政工程",
"contract": "HT2023012",
"days": 7,
"reason": "材料供應延遲",
"applyDate": "2023-07-03",
"status": "completed",
"details": {
"applicant": "趙六",
"department": "采購部",
"contact": "13700137000",
"amount": "45,800元",
"approval": "錢七",
"approvalDate": "2023-07-15"
}
},
{
"id": 16,
"project": "AA水利工程",
"contract": "HT2023020",
"days": 45,
"reason": "政策調整",
"applyDate": "2023-08-22",
"status": "pending",
"details": {
"applicant": "孫八",
"department": "項目部",
"contact": "13600136000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 17,
"project": "BB城市改造項目",
"contract": "HT2023025",
"days": 20,
"reason": "居民協調問題",
"applyDate": "2023-09-10",
"status": "completed",
"details": {
"applicant": "周九",
"department": "協調部",
"contact": "13500135000",
"amount": "89,500元",
"approval": "吳十",
"approvalDate": "2023-09-30"
}
},
{
"id": 18,
"project": "CC電力工程",
"contract": "HT2023030",
"days": 12,
"reason": "設備故障",
"applyDate": "2023-10-05",
"status": "completed",
"details": {
"applicant": "鄭十一",
"department": "電力部",
"contact": "13400134000",
"amount": "67,300元",
"approval": "王十二",
"approvalDate": "2023-10-20"
}
},
{
"id": 19,
"project": "XX高速公路項目",
"contract": "HT2023001",
"days": 15,
"reason": "天氣原因",
"applyDate": "2023-05-10",
"status": "completed",
"details": {
"applicant": "張三",
"department": "工程部",
"contact": "13800138000",
"amount": "125,000元",
"approval": "李四",
"approvalDate": "2023-05-25"
}
},
{
"id": 20,
"project": "YY大橋建設項目",
"contract": "HT2023005",
"days": 30,
"reason": "設計變更",
"applyDate": "2023-06-15",
"status": "pending",
"details": {
"applicant": "王五",
"department": "設計部",
"contact": "13900139000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 21,
"project": "ZZ市政工程",
"contract": "HT2023012",
"days": 7,
"reason": "材料供應延遲",
"applyDate": "2023-07-03",
"status": "completed",
"details": {
"applicant": "趙六",
"department": "采購部",
"contact": "13700137000",
"amount": "45,800元",
"approval": "錢七",
"approvalDate": "2023-07-15"
}
},
{
"id": 22,
"project": "AA水利工程",
"contract": "HT2023020",
"days": 45,
"reason": "政策調整",
"applyDate": "2023-08-22",
"status": "pending",
"details": {
"applicant": "孫八",
"department": "項目部",
"contact": "13600136000",
"amount": "待審核",
"approval": "待審批",
"approvalDate": "待審批"
}
},
{
"id": 23,
"project": "BB城市改造項目",
"contract": "HT2023025",
"days": 20,
"reason": "居民協調問題",
"applyDate": "2023-09-10",
"status": "completed",
"details": {
"applicant": "周九",
"department": "協調部",
"contact": "13500135000",
"amount": "89,500元",
"approval": "吳十",
"approvalDate": "2023-09-30"
}
},
{
"id": 24,
"project": "CC電力工程",
"contract": "HT2023030",
"days": 12,
"reason": "設備故障",
"applyDate": "2023-10-05",
"status": "completed",
"details": {
"applicant": "鄭十一",
"department": "電力部",
"contact": "13400134000",
"amount": "67,300元",
"approval": "王十二",
"approvalDate": "2023-10-20"
}
}
],
"comments": [
{ "id": 1, "body": "Great post", "postId": 1 }
],
"profile": {
"name": "Jane Doe"
}
}
啟動服務器
json-server --watch db.json --port 3000
自動生成的 API 端點
GET /posts
GET /posts/1
POST /posts
PUT /posts/1
PATCH /posts/1
DELETE /posts/1
GET /posts/1/comments # 關聯數據
高級功能
過濾:/posts?title=json-server&author=typicode
分頁:/posts?_page=1&_limit=10
排序:/posts?_sort=views&_order=asc
全文搜索:/posts?q=hello
關系:/posts/1/comments
使用場景
前端開發:在后端 API 完成前進行前端開發
原型設計:快速驗證產品概念
測試:為自動化測試提供模擬數據
教學演示:REST API 教學示例
你想了解 JSON Server 的哪個特定方面呢?
浙公網安備 33010602011771號