一分钟学会用json-server搭建RESTful API

json-server是一个可以利用json文件快速生成REST API的工具, 使前端开发能够脱离后端, 更加简单高效.

安装

npm i json-server -g

使用

mkdir mock

cd mock

vi data.json

{
    "users": [
    ]
}

json-server data.json
  \{^_^}/ hi!

  Loading .\data.json
  Done

  Resources
  http://localhost:3000/users

  Home
  http://localhost:3000

  Type s + enter at any time to create a snapshot of the database

到此为止, 一个基于data.json的文件数据库就搭建好了, 访问localhost:3000就能看到如下页面:
0_1519006277228_3e7dda13-6711-44c4-b07d-4d4d214a09a0-image.png

我们可以利用API测试工具新增一个用户:
0_1519006420909_4038ddc1-3f18-4683-8e69-d4148459aceb-image.png
0_1519006441769_73c09c30-8604-49c2-948a-33559cd0ef5e-image.png
json-server会返回这个新建的用户, 并为其自动生成id, 并且可以看到, 这个用户确确实实是新建成功了

cat data.json

{                          
  "users": [               
    {                      
      "username": "木杉",    
      "password": "123456",
      "id": 1              
    }                      
  ]                        
}                          

其他类型的请求也是同理, 需要注意的是, 在一个json文件中, 每一个数组的key, 即为请求的url, 一个文件可像数据库一样存放多个数组.

这只是最简单的用法, 上手之后就可以按照它的规则去做一些额外的配置:

Options:
  --config, -c               Path to config file   [default: "json-server.json"]
  --port, -p                 Set port                            [default: 3000]
  --host, -H                 Set host                       [default: "0.0.0.0"]
  --watch, -w                Watch file(s)                             [boolean]
  --routes, -r               Path to routes file
  --middlewares, -m          Paths to middleware files                   [array]
  --static, -s               Set static files directory
  --read-only, --ro          Allow only GET requests                   [boolean]
  --no-cors, --nc            Disable Cross-Origin Resource Sharing     [boolean]
  --no-gzip, --ng            Disable GZIP Content-Encoding             [boolean]
  --snapshots, -S            Set snapshots directory              [default: "."]
  --delay, -d                Add delay to responses (ms)
  --id, -i                   Set database id property (e.g. _id) [default: "id"]
  --foreignKeySuffix, --fks  Set foreign key suffix (e.g. _id as in post_id)
                                                                 [default: "Id"]
  --quiet, -q                Suppress log messages from output         [boolean]
  --help, -h                 Show help                                 [boolean]
  --version, -v              Show version number                       [boolean]

Examples:
  index.js db.json
  index.js file.js
  index.js http://example.com/db.json

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

Missing <source> argument

COOL,有用的东西!

厉害了

api 测试工具也请发下,感觉很nice的样子

登录后回复

与 Angular开发者 的连接断开,我们正在尝试重连,请耐心等待