SlimFramework3:如何使用 Google Chrome 高级 REST 客户端测试 POST 请求?

SlimFramework3 : how to test POST request with Google Chrome Advanced REST Client?

这是我的 Slim 函数:

// Add a new task
$app->post('/task/', function (Request $request, Response $response) {
    $data = $request->getParsedBody();
    $task = $data['task'];
    $state = 1;
    $now = date("Y-m-d");

    $this->database->insert("task", [
        "task" => "$task",
        "status" => "1",
        "created_at" => "$now"
    ]);

    $return = ['id' =>  $this->database->id()];
    return $response->withJson($return);
});

我不知道如何在高级 REST 客户端中设置 POST 数据!如果我将 "task" 参数放在 "Headers" 部分,Slim 无法获取任何数据并为 "task" 列插入空字符串:

谢谢:)

你需要通过设置 Content-Type header:

来告诉 Slim 你在 body 中包含了什么样的信息

在 header 部分添加一个 header name/value 对:

Header Name -> Content-Type
Header Value -> application/json

现在在 body 部分添加要解析的 json 信息:

{"task" : "A new task"}

Slim 将读取 header 并将 body 相应地解析为数组类型。