/ / Bad Request: "URL" ist erforderlich, aber fehlt - PHP, Swagger, Restler

Schlechte Anfrage: "URL" ist erforderlich, aber fehlt - PHP, Swagger, Restler

Hallo Restler / Swagger Freunde,

Ich stehe vor einem Problem, wenn ich versuche, eine URL (ex. / Home / ahmad /) wie folgt zu posten:

{
"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"
]
}
}
}

Mein Testcode lautet:

/**
* POST url
*
* @param string $url {@from url} url for test
*
* @return string
*/
function post_url($url) {
return $url;
}

Ich habe versucht, das Problem zu debuggen und festgestellt, dass URL-Wert als NULL empfangen wird, bevor der Validator angewendet wird

Wie kann ich dieses Problem lösen?

Antworten:

0 für die Antwort № 1

Ich sehe einige Probleme mit Ihrem Ansatz

Erstens, wenn Sie einen Parameter der URL zuordnen möchten, die Sie verwenden müssen {@from path} nicht {@from url}

Wenn Ihre Variable dann Schrägstriche enthält, sollten sie idealerweise der Abfragezeichenfolge oder dem Textkörper zugeordnet werden, da die Schrägstriche im URL-Pfad von Restler als viele Parameter verstanden werden

Wenn Sie einen Teil der URL akzeptieren müssen, können Sie das Wildcard-Routing wie unten gezeigt verwenden

/**
* POST url
*
* @return string
*
* @url POST url/*
*/
function postUrl() {
return implode(",", func_get_args());
}