使用**属性名_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
_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数组。