Restler 的自定义基本路径?
Custom base path for Restler?
当 Restler 未部署在域/子域的根目录时,使用自定义基本路径的推荐/假定方法是什么?
我的网站有自己的路由,我在这里使用 Restler 3.0:
http://www.example.com/api/data/movies
当它路由到 /api/data/movies
时,我让 Restler 负责:
class Say {
function hello($to='world') {
return "Hello $to!";
}
function hi($to) {
return "Hi $to!";
}
}
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('Say', '/api/data/movies/say');
$r->handle();
但是,不知何故,它没有通过子路径获取传递给它的参数。见下文。
示例。com/api/data/movies/say/hi
{
"error": {
"code": 400,
"message": "Bad Request: `to` is required."
},
"debug": {
"source": "Validator.php:366 at validate stage",
"stages": {
"success": [
"get",
"route",
"negotiate"
],
"failure": [
"validate",
"message"
]
}
}
}
例子。com/api/data/movies/say/hi/吉姆
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:431 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
我尝试 Google 但没有找到与我的问题相关的内容。我怎样才能让它发挥作用?在子目录下使用 Restler 的推荐/假设方法是什么-URL 而不是域/子域根目录?
根据 Restler 文档
你必须在你的URL请求中传递to
参数,所以我认为你的URL应该是example.com/api/data/movies/say/hi?to=test
。
但是如果你想添加自定义路由然后检查如何Restler Routing Works。
This API Server exposes the following URIs
GET say/hi/{to} ⇠ Say::hi()
我对 Restler 不熟悉,但希望这对你有所帮助。
由于自动路由需要原始类型用于映射到 url 路径,此行为在最近的版本中发生了变化。抱歉造成混淆,我们现在更新了文档!
当 Restler 未部署在域/子域的根目录时,使用自定义基本路径的推荐/假定方法是什么?
我的网站有自己的路由,我在这里使用 Restler 3.0:
http://www.example.com/api/data/movies
当它路由到 /api/data/movies
时,我让 Restler 负责:
class Say {
function hello($to='world') {
return "Hello $to!";
}
function hi($to) {
return "Hi $to!";
}
}
use Luracast\Restler\Restler;
$r = new Restler();
$r->addAPIClass('Say', '/api/data/movies/say');
$r->handle();
但是,不知何故,它没有通过子路径获取传递给它的参数。见下文。
示例。com/api/data/movies/say/hi
{
"error": {
"code": 400,
"message": "Bad Request: `to` is required."
},
"debug": {
"source": "Validator.php:366 at validate stage",
"stages": {
"success": [
"get",
"route",
"negotiate"
],
"failure": [
"validate",
"message"
]
}
}
}
例子。com/api/data/movies/say/hi/吉姆
{
"error": {
"code": 404,
"message": "Not Found"
},
"debug": {
"source": "Routes.php:431 at route stage",
"stages": {
"success": [
"get"
],
"failure": [
"route",
"negotiate",
"message"
]
}
}
}
我尝试 Google 但没有找到与我的问题相关的内容。我怎样才能让它发挥作用?在子目录下使用 Restler 的推荐/假设方法是什么-URL 而不是域/子域根目录?
根据 Restler 文档
你必须在你的URL请求中传递to
参数,所以我认为你的URL应该是example.com/api/data/movies/say/hi?to=test
。
但是如果你想添加自定义路由然后检查如何Restler Routing Works。
This API Server exposes the following URIs
GET say/hi/{to} ⇠ Say::hi()
我对 Restler 不熟悉,但希望这对你有所帮助。
由于自动路由需要原始类型用于映射到 url 路径,此行为在最近的版本中发生了变化。抱歉造成混淆,我们现在更新了文档!