无法从cakephp中的api获取数据

时间:2019-05-08 09:31:42

标签: cakephp cakephp-3.0

我正在尝试制作一个api。问题是它没有回应价值。它显示为空。我正在使用邮递员。在这里,我将json保留为json格式。我的目标是在点击api时显示名称。这是我正在传递的数据

{
"username":"xxxx"
}

在我的api控制器中

public function getName()
{
    if ($this->request->is('post')) {

        $name = $this->request->data('username');
        $val = ["username" => $name];

        $this->response->type('json');
        $this->response->body(json_encode($val));
        return $this->response;

    }
}

3 个答案:

答案 0 :(得分:0)

CakePHP仍然是PHP。在函数的最顶部,我将执行一个pr($_POST);并查看发生了什么。如果什么都没有,那么您确定要发布吗?如果您确实看到了某些数据,是否在其前面加上了模型名称或其他名称,这会导致$this->request->data('username')返回null?至少,您可以确保您实际上是在正确的位置发帖,然后从那里去。

答案 1 :(得分:0)

尝试一下(对于CakePHP> 3):

if ($this->request->is('post')) {
    $this->viewBuilder()->className('Json');

    $name = $this->request->data('username');
    $val = ["username" => $name];

    $this->set(compact('val'));
    $this->set('_serialize', ['val']);
}

答案 2 :(得分:0)

您尝试过

$input = $this->request->input('json_decode');
pr($input);