there is an url for which in the mobile application I request locations that are similar to the query string

Request: http://localhost/Retrofit/public/cities?query="Москва"

Code:

 $app->get('/cities', function (Request $request, Response $response) { if(isTheseParametersAvailable(array('query'))){ $requestData = $request->getParsedBody(); $query = $requestData['query']; $db = new DbOperation(); $cities = $db->getAllCities($query); $response->getBody()->write(json_encode(array("cities" => $cities))); } }); 

Returns an empty list. If I change a little code and insert the default value:

 $app->get('/cities', function (Request $request, Response $response) { $requestData = $request->getParsedBody(); $query = 'Москва'; $db = new DbOperation(); $cities = $db->getAllCities($query); $response->getBody()->write(json_encode(array("cities" => $cities))); }); 

That works fine. What is the parameter reception error?

  • isTheseParametersAvailable returns true ? $requestData contains what? - u_mulder
  • In the request, Moscow should not have quotes - YuriySPb
  • @ YuriySPb the same result - danilshik
  • @u_mulder yes, is null - danilshik
  • Well, if $requestData contains NULL, what do you expect from $requestData['query'] ? - u_mulder

1 answer 1

Solving the problem: $query = $request->getQueryParam('query');