SlimFramework3: как проверить POST-запрос с помощью 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);
});

Я не могу понять, как установить данные POST в Advanced REST Client! Если я добавлю параметр "задача" в раздел "Заголовки", Slim не сможет получить какие-либо данные и вставит пустую строку в столбец "задача":

Спасибо:)

1 ответ

Решение

Вы должны указать Slim, какую информацию вы включаете в тело, установив заголовок Content-Type:

В разделе заголовка добавьте пару заголовок / значение:

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

Теперь в разделе body добавьте информацию json, которую вы хотите проанализировать:

{"task" : "A new task"}

Slim прочитает заголовок и проанализирует тело соответственно как тип массива.

Другие вопросы по тегам