1

APIを作成しようとしています。

何かを行うコントローラーがあり、「ABC」を文字列として返します。私のURLは次のようになります:

     http://myserver/myapp/myAPImethod/parm1

メソッド内には、次のようなコードがあります。

    header ('Content-Type: application/json; charset=UTF-8');
    $model= str_replace("%snv%"," ",$model);
    echo json_encode($model);

この API を使用するアプリケーションには、次のことを行うコントローラーがあります。

public function curl($url){
  //echo 'in the routine';
    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data=curl_exec($ch);
    print_r($data);
    curl_close($ch);
    return $data;
  }
    $url = "http://myserver/myapp/index.php/myAPImethod/hname";
    $jsondata = $this->curl($url);      
    //print_r(json_decode($jsondata));

私の質問は次のとおりです。API を使用するアプリケーションを実行すると、echo ステートメントがあるため、ページに「ABC」と表示されます。しかし、結果を表示したくありません。消費するアプリケーションにデータを渡したいだけです。API メソッドの echo ステートメントを「return」ステートメントに変更しようとしましたが、呼び出し元にデータが送信されません。

ありがとう。

4

1 に答える 1