json-server详解

json-server的启动参数:

  1. –watch / -w: 指定要监听哪个JSON文件的变化并重新加载JSON Server。
  2. –port / -p: 指定要使用的端口号,默认情况下为3000。
  3. –routes / -r: 提供一个路由配置文件以定制路由行为。
  4. –middlewares / -m: 提供一个中间件配置文件以扩展JSON Server的功能。
  5. –static / -s: 指定一个静态文件夹,JSON Server将静态服务器与JSON API服务器结合起来。
  6. –delay / -d: 模拟API响应的延迟时间,以便测试加载状态下的用户体验。
  7. –id / -i: 指定JSON对象的ID字段名称,默认为"id"。
  8. –no-cors: 禁用跨域资源共享。
  9. –no-gzip: 禁用Gzip压缩。
  10. –snapshots / -S: 指定要使用的快照文件夹,以便保存当前的JSON数据库状态。
  11. –quiet / -q: 减少输出,仅在发生错误时输出。
  12. –help / -h: 显示帮助信息。
  13. –version / -v: 显示JSON Server的版本信息。

模糊查询

使用**属性名_like**就可以模糊查询了。

/users?name`_like`=John

对象的操作

使用对象名.属性名就可以模糊查询了。

/users?obj.name=John

分页

可以使用query传参的方式传递 _page _limit
_page_limit都可以不传,_page默认是1,_limit默认是10

排序

可以使用query传参的方式传递 _sort _order
_sort传值为属性名,例如name
_order 可以不传,_order默认是asc(升序)
_order的还有一个参数desc(倒序)
_sort 可以通过,连接传递多个值,如果要使用_order时,可以传一个或两个值

/posts?_sort=user,views&_order=desc,asc

ID范围查询

_end可以单独使用
_limit_start需要配合使用

/posts?_start=20&_end=30
/posts/1/comments?_start=20&_end=30
/posts/1/comments?_start=20&_limit=10

范围查询

属性_gte属性_lte都可以单独使用

/posts?views_gte=10&views_lte=20

全局查询

使用q进行全局查询

/posts?q='属性值'

以上属性是可以联合使用的

自定义路由

要实现自定义路由,可以在启动时使用–routes参数指定一个JSON文件来配置路由。
话不多说上代码:
db.json

{
   
  "posts": [
    {
    "id": 1, "title": "json-server", "author": "typicode" },
    {
    "id": 2, "title": "test", "author": "test" }
  ],
  "comments": [
    {
    "id": 1, "body": "some comment", "postId": 1 },
    {
    "id": 2, "body": "some comment", "postId": 2 }
  ]
}

routes.json

{
   
  "/posts/:id/comments": "/comments/?postId=:id",
}

这个路由配置将/posts/:id/comments请求映射到/comments/?postId=:id上,而其他请求将被直接映射到与请求路径相同的JSON文件路径上。

启动JSON Server:

json-server --watch db.json --routes routes.json

现在,当你向/posts/1/comments发送请求时,会返回包含postId为1的所有评论的JSON对象,而/posts`请求会返回posts数组。

相关推荐

  1. json-server详解

    2023-12-19 18:46:02       41 阅读
  2. json-server 的使用

    2023-12-19 18:46:02       32 阅读
  3. 【Node.js】json-server

    2023-12-19 18:46:02       43 阅读
  4. Json详解

    2023-12-19 18:46:02       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-19 18:46:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-19 18:46:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-19 18:46:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-19 18:46:02       20 阅读

热门阅读

  1. 解决matplotlib中文显示乱码

    2023-12-19 18:46:02       45 阅读
  2. 面试题,手写soft_nms

    2023-12-19 18:46:02       44 阅读
  3. 音频筑基:瞬态、基音、偏噪信号类型分析

    2023-12-19 18:46:02       37 阅读
  4. 2312d,D语言单元测试等

    2023-12-19 18:46:02       51 阅读
  5. == 和 equals 的区别

    2023-12-19 18:46:02       37 阅读
  6. Postman中raw是什么

    2023-12-19 18:46:02       34 阅读
  7. ansible

    ansible

    2023-12-19 18:46:02      33 阅读
  8. Spring 框架中都用到了哪些设计模式?

    2023-12-19 18:46:02       50 阅读
  9. 多汗症对生活的影响是什么?

    2023-12-19 18:46:02       40 阅读
  10. .bash_history|.bashrc|.bash_logout|.profile的作用分别是啥

    2023-12-19 18:46:02       40 阅读