专栏首页性能与架构快速模拟 Rest API

快速模拟 Rest API

在前后端开发过程中,通常会通过 web api 进行沟通,Rest 风格和 JSON结构是常用的,例如前端要获取文章列表,需要通过 GET /post 来取得数据,返回的数据例如

{
  "posts": [
    { "id": 1, "title": "test", "author": "me" }, 
    ......
  ]
}

后端来定义路由和返回JSON数据

开发中,后端实现API的速度可能不能满足前端开发的速度,前端为了不必等待后端,可以自己来模拟这个API,按照规定好的数据结构来返回模拟数据

json-server 就是用来实现这个需求的,不用自己写任何代码,把自己需要的模拟数据写入一个JSON文件,json-server 可以加载这个文件,并对外提供REST风格的访问方式,下面通过示例看具体的使用方式

先通过 npm 安装 json-server

npm install -g json-server

然后自定义一个JSON文件 db.json,内容为

{
  "posts": [{
    "id": 1,
    "title": "测试 json-server",
    "author": "dys"
  }]
}

启动 json-server,指定加载 db.json,在命令行执行

json-server db.json

启动后的提示信息

  \{^_^}/ hi!
  Loading db.json
  Done
  Resources
  http://localhost:3000/posts
  http://localhost:3000/comments
  Home
  http://localhost:3000

在浏览器中访问 http://localhost:3000/posts,会输出 posts 数组,如

[
  {
    "id": 1,
    "title": "测试 json-server",
    "author": "dys"
  }
]

还可以访问某一条信息,如 http://localhost:3000/posts/1,只返回一条数据

{
  "id": 1,
  "title": "测试 json-server",
  "author": "dys"
}

这是使用 GET 方式的访问,下面体验一下 POST 请求

我使用了 Firefox 下的一个 HTTP 插件,向 http://localhost:3000/posts 发送了 POST 请求,提交的数据为

{
    "id": 2,
    "title": "测试 post",
    "author": "dys"
}

再次使用浏览器访问 http://localhost:3000/posts,可以看到刚刚 POST 的数据

[
  {
    "id": 1,
    "title": "测试 json-server",
    "author": "dys"
  },
  {
    "id": 2,
    "title": "测试 post",
    "author": "dys"
  }
]

以上是 json-server 的基本用法,他还有很多更强大的功能,可以到官网查看更多内容

项目官网 https://github.com/typicode/json-server

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-07-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • nginx 负载均衡策略

    1. 轮询 轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如: upstream backend { server...

    dys
  • Kafka 快速起步

    主要内容: 1. kafka 安装、启动 2. 消息的 生产、消费 3. 配置启动集群 4. 集群下的容错测试 5. 从文件中导入数据,并导出到文件 单机示例 ...

    dys
  • WEB开发将不再重度依赖JS【二】

    前阶段写了一篇文章 "WEB开发将不再重度依赖JS",介绍了 WASM(WebAssembly),因为有了最新消息,所以写了这篇文章来分享 简单回顾一下 WAS...

    dys
  • 模仿淘宝web扫码登录

    if ($(this).hasClass('qrcode-target-show')){

    用户6182664
  • 从JSON进化到BSON

    自从MEAN引导的JSON数据格式取代传统JAVA推崇的XML以后, json的发展却停滞不前了, 当然这是好事, 因为稳定的结构是不需要向下兼...

    Jean
  • python第三方库系列之一--json

        1. 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON、XML等。反序列化就是从存...

    用户2398817
  • python操作json(一)

    Python 操作json Json语法规则: 数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组 Json字符串本质上是一个字符串,用单引号...

    用户2398817
  • python 控制输入输出流

    善用系统的stdin,stdout有时可以做出强大的工具。下面的例子是使用python读取stdin的json文件,然后格式化,再写至stdout。

    超级大猪
  • beego中orm关联查询使用解析

    这两天在学习beego框架,之前学习的时候遗漏了很多东西,比如orm、缓存、应用监控、模板处理等,这里将通过实例记录下如何使用beego自带的orm进行关联查询...

    用户1141560
  • 你所不知道的php json编码解码

    json解析在php,或者说在任何编程语言中都非常常见。但是,你是否知道,json解析在php中是以扩展形式存在。

    写PHP的老王

扫码关注云+社区

领取腾讯云代金券