Hi Restler / Swagger priatelia,
Keď sa pokúšam o odoslanie adresy URL (napr. / Home / ahmad /), mám problém:
{
"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"
]
}
}
}
môj kód pre test je:
/**
* POST url
*
* @param string $url {@from url} url for test
*
* @return string
*/
function post_url($url) {
return $url;
}
Pokúsil som sa o ladenie problému a zistil som, že hodnota url je prijatá ako NULL pred aplikáciou Validátora
Ako môžem vyriešiť tento problém?
odpovede:
0 pre odpoveď č. 1Vidím niekoľko problémov s vaším prístupom
Po prvé, ak chcete mapovať parameter do adresy URL, ktorú musíte použiť {@from path}
nie {@from url}
Potom, ak vaša premenná bude obsahovať lomítka, mali by byť v ideálnom prípade zmapované na reťazec dotazu alebo na telo ako lomítka v urlovej ceste bude chápaná ako mnoho parametrov pomocou programu Restler
Ak ho musíte prijať časť adresy URL, môžete použiť smerovanie zástupných znakov, ako je uvedené nižšie
/**
* POST url
*
* @return string
*
* @url POST url/*
*/
function postUrl() {
return implode(",", func_get_args());
}