how can send $data
(some one values->array) to Rest Apigility for make a query and return the result this is my code for send $data
$body = $this->getRequest()->getContent();
$json = json_decode($body, true);
$conditions =array(
'artist' => $json['data']
);
$client = new Client();
$uri = "http://localhost:81/ApigilityNew/public/albums";
$user = 'admin';
$password = 'admin';
//url del servicio REST
$client->setUri($uri);
//establecer metodo GET-POST
$client->setMethod('GET');
//tiempo de peticion
$client->setOptions(
[
'maxredirects' => 0,
'timeout' => 60
]
);
$client->setHeaders(['Accept' => 'application/json', 'Contet-Type' => 'application/json']);
$client->setAuth($user, $password , $client::AUTH_BASIC);
$client->setParameterGet($conditions);
$response = $client->send($client->getRequest());
for get $data
on Apigility this:
AlbumResource.php
/**
* Fetch a resource
*
* @param array $condiciones
* @return ApiProblem|mixed
*/
public function fetch($conditions) //$id
{
//return new ApiProblem(405, 'The GET method has not been defined for individual resources');
return $this->mapper->fetchOne($condiciones);
}
AlbumMapper.php
public function fetchOne($conditions)
{
$sql = ' SELECT album.id, album.artist, album.title, pais.nombre_pais, biografia.genero, biografia.ocupacion, biografia.sitio_web
FROM album
LEFT JOIN pais ON pais.id_album = album.id
LEFT JOIN biografia ON biografia.id_album = album.id
WHERE 1 = 1 ';
if (!empty($conditions['criterio_busqueda']))
{
$sql = $sql. " AND album.artist LIKE '%".$condiciones['criterio_busqueda']."%'";
}
$resultset = $this->adapter->query($sql, array($data));
$data = $resultset->toArray();
if (!$data) {
return false;
}
return $data;
}//end function
How can get a result? Now it only returns unsupport media type from Apigility