Restler可选字符串参数

时间:2017-01-25 05:11:40

标签: php restler

我想在Restler补丁方法中将参数标记为可选,并且它的类型为字符串,但我无法弄清楚如何执行此操作。如果我将$description = null作为参数,那么路由器将失败并显示一条消息,指出description是必需参数。

我不能只使用一个空字符串,因为这是一个PATCH类型的方法,所以我必须能够区分它们想要通过传递空字符串而不是空值来消除描述他们没有通过任何更新。

1 个答案:

答案 0 :(得分:1)

保持$description null正常工作。只需确保所有可选参数都出现在api方法中的必需参数之后。这是一个php限制。

以下是我测试它的方法

composer create-project restler/application=dev-basic rest

创建基本的restler项目。然后编辑rest / src / Home.php以添加补丁方法

<?php

class Home
{
    public function index()
    {
        return [
            'success' => [
                'code'    => 200,
                'message' => 'Restler is up and running!',
            ],
        ];
    }

    public function patch($name, $description = null)
    {
        return compact('name', 'description');
    }
}

在命令行上使用php serve启动Web服务器。使用http://localhost/explorer启动资源管理器,然后使用以下json

测试补丁方法
{
  "name": "arul"
}

api结果是

{
  "name": "arul",
  "description": null
}

预期结果是什么