Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将$data发送到fetchOne apigility rest?_Php_Rest_Zend Framework2_Laminas Api Tools - Fatal编程技术网

Php 如何将$data发送到fetchOne apigility rest?

Php 如何将$data发送到fetchOne apigility rest?,php,rest,zend-framework2,laminas-api-tools,Php,Rest,Zend Framework2,Laminas Api Tools,如何将$data(some one values->array)发送到Rest Apigility进行查询并返回结果这是我发送$data的代码 $body = $this->getRequest()->getContent(); $json = json_decode($body, true); $conditions =array( 'artist' => $json['data'] ); $client = n

如何将
$data
(some one values->array)发送到Rest Apigility进行查询并返回结果这是我发送
$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());
对于获取Apigility上的
$data
,此:

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);
    }
  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
AlbumMapper.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);
    }
  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

怎样才能得到结果?现在它只从Apigility返回不支持的媒体类型

您的
ContentType
标题中有一个输入错误:

'Contet-Type' => 'application/json'
应该是:

'Content-Type' => 'application/json'

这可能就是为什么您会收到一条不受支持的媒体类型消息

我将此用作指南,但不起作用[link]@DiegoA。该应用程序应该可以正常工作。你能更具体地说明问题是什么吗。你收到错误信息了吗?什么信息?你什么时候在哪里买的?请添加准确消息的报价。。。