Hi Restler / Swagger朋友,
当我尝试发布网址(例如/ home / ahmad /)时,我遇到了一个问题如下:
{
"error": {
"code": 400,
"message": "Bad Request: `url` is required but missing."
},
"debug": {
"source": "Validator.php:26 at validate stage",
"stages": {
"success": [
"get",
"route",
"negotiate"
],
"failure": [
"validate",
"message"
]
}
}
}
我的测试代码是:
/**
* POST url
*
* @param string $url {@from url} url for test
*
* @return string
*/
function post_url($url) {
return $url;
}
我尝试调试问题并发现在应用Validator之前将url值作为NULL接收
我如何解决这个问题?
答案 0 :(得分:0)
我可以看到您的方法存在一些问题
首先,如果您要将参数映射到网址,则必须使用{@from path}
而不是{@from url}
然后,如果你的变量将包含斜杠,理想情况下它们应该映射到查询字符串或正文,因为url路径中的斜杠将被Restler理解为许多参数
如果你必须接受它的部分网址,你可以使用通配符路由,如下所示
/**
* POST url
*
* @return string
*
* @url POST url/*
*/
function postUrl() {
return implode(',', func_get_args());
}