/ / Bad Request: `url` je povinný, ale chýba - php, swagger, restler

Nesprávna požiadavka: `url` je povinný, ale chýba - php, swagger, restler

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ď č. 1

Vidí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());
}