我想在Restler补丁方法中将参数标记为可选,并且它的类型为字符串,但我无法弄清楚如何执行此操作。如果我将$description = null
作为参数,那么路由器将失败并显示一条消息,指出description
是必需参数。
我不能只使用一个空字符串,因为这是一个PATCH类型的方法,所以我必须能够区分它们想要通过传递空字符串而不是空值来消除描述他们没有通过任何更新。
答案 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
}
预期结果是什么