2017-07-10 7 views
1

私が直面している問題を読む時間をとってくれてありがとう、事前に感謝します。 ブラウザからRest Full API(https://dusupay.com/transactions/check_status/1386/19892016.json)を実行するとjsonから返信されます。Symfony 2でAPIを呼び出すとjsonではなくhtmlが返されます

は、今私は、コントローラに、このAPIによって返されたデータを取得する必要があるが、残念ながら、それは、以前の「テキスト/ HTML」

use Zeroem\CurlBundle\HttpKernel\RemoteHttpKernel   
$request = Request::create("https://dusupay.com/transactions/check_status/1386/19892016.json"); 
$remoteKernel = new RemoteHttpKernel(); 
$response1 = $remoteKernel->handle($request); 
return new response ($response1); 

私はJSONのコンテンツタイプを変更しようとする私を返しI答えとして何も受け取らない。時間の代わりに応答の

答えて

3

使用JsonResponseため

ありがとう:

use Symfony\Component\HttpFoundation\JsonResponse; 
+0

解決しましたCakePHPで書かれていて、@FOKOTHierryによって維持されていません – jkucharovic

+0

@jkucharovic彼はdusupay.comからjsonを受け取り(彼の与えられたURLをチェックして)、コントローラの中のResponseオブジェクトとして返します。 JsonResponseを使用する場合は、単純な応答オブジェクトではなくjsonオブジェクトを使用します。 – Eimsas

+0

@Elmsasああ...私のせいで、私は彼の質問を誤解しています。 – jkucharovic

0

あなたはsymfonyのフォーマットリスナーによって、あなたのAPIのためのすべての応答フォーマットをcontrollすることができます。 https://symfony.com/doc/current/bundles/FOSRestBundle/3-listener-support.html

をそれとも、単純ないくつかの特定のルートを使用するため:これをチェックしてください

return new JsonResponse($response); 
0

一部修正した後、問題はそれがdusupay.comのバックエンドであるように見えます

 use Zeroem\CurlBundle\HttpKernel\RemoteHttpKernel; 
    $request = Request::create("https://dusupay.com/transactions/check_status/1386/19892016.json"); 

    $remoteKernel = new RemoteHttpKernel(); 
    $response1 = $remoteKernel->handle($request); 
    $data = json_decode($response1->getContent()); 
    return new response($data->Response->customer_email);