saunarame/php-json-server

支持使用JSON格式文件的REST API。

安装: 32

依赖项: 0

建议者: 0

安全: 0

星星: 5

关注者: 2

分支: 0

开放问题: 1

类型:项目

V0.3.2 2021-02-13 20:31 UTC

This package is auto-updated.

Last update: 2024-09-14 04:06:20 UTC


README

Build Status Version

php-json-server 是一个PHP RESTful API。数据可以以json格式写入,你可以轻松地设置RESTful API模拟服务器。

安装和启动

使用 Composer 进行安装和服务器启动。

# install
$ composer create-project sawarame/php-json-server path/to/install

安装完成后,你可以使用PHP内置服务器启动 php-json-server

# Startup with PHP build-in server
$ cd path/to/install
$ composer run --timeout 0 serve

然后访问 https://:8080/。如果显示欢迎页面,则安装和启动成功。

准备数据

将数据文件保存到以下路径。

path/to/install/data/db/schema_name.json

文件名中的 schema_name 用于数据名称。数据名称可以是任何名称,并且可以以不同的名称保存多个数据。初始状态下有一个 sample.json

[
    {
        "id": 1,
        "name": "Red",
        "code": "#ff0000"
    },
    {
        "id": 2,
        "name": "Green",
        "code": "#00ff00"
    },
    {
        "id": 3,
        "name": "Blue",
        "code": "#0000ff"
    }
]

数据必须以JSON格式的数组形式写入。数据结构是任意的,但必须包含 id 列。

读取数据

要获取名为 schema_name 的数据,使用GET方法访问以下URL。

$ curl -X GET 'https://:8080/schema_name'

默认每页数据行数为20。如果你想更改它,请使用 rows 参数。

$ curl -X GET 'https://:8080/schema_name?rows=10'

如何更改页面使用 page 参数。

$ curl -X GET 'https://:8080/schema_name?page=2'

你可以使用列名作为参数进行搜索。

$ curl -X GET 'https://:8080/schema_name?name=Green'

通常,当指定多个参数时,搜索将是一个AND条件。如果你想使用OR条件搜索,请使用 or 修改 search_type 参数。

$ curl -X GET 'https://:8080/sample?name[]=Red&name[]=Green&search_type=or'

响应头

响应头包含有关分页的信息。

查找行

以下示例接收具有 id 列值为123的数据。

$ curl -X GET 'https://:8080/schema_name/123'

插入行

使用POST方法插入数据。

$ curl -X POST 'https://:8080/schema_name' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"Gray","code":"#808080"}'

将返回创建的数据。

{"id":4,"name":"Gray","code":"#808080"}

更新行

使用PUT方法更新数据。

$ curl -X PUT 'https://:8080/schema_name/2' \
  -H 'Content-Type: application/json' \
  --data-raw '{"name":"Yellow","code":"#FFFF00"}'

将返回更新后的数据。

{"id":2,"name":"Yellow","code":"#FFFF00"}

删除行

使用DELETE方法删除数据。

$ curl -X DELETE 'https://:8080/schema_name/4'

将返回删除的数据。

{"id":4,"name":"Gray","code":"#808080"}