2017-07-27 7 views
6

Ich versuche, benutzerdefinierte Api in magneto2 zu erstellen. Es ist ein POST CALL, in denen ich wie unten assoziatives Array zu senden versuche,Magento 2 Rest Api - Assoziatives Array In Request Param

{ 
    "data": {  
     "testData": { 
      "title": "Test 01",   
      "place": { 
       "key": "value" 
      } 
     } 
    } 
} 

Für das obige Format i die param Annotation als string[] gebe. Seine Arbeit Wenn ich place Daten darin nicht passierte. Aber wenn ich vorbei place Daten seines Wurf Fehler wie unten,

Array to string conversion 

tatsächliches Problem ist, ich bin nicht in der Lage assoziatives Array in Anforderung param zu übergeben. Kann mir bitte jemand dabei helfen?

Ich versuchte, indem Sie einen benutzerdefinierten Objekttyp auch erstellen. Auch hier kann ich string[] nur geben. Also kann ich nicht mehr und mehr json Daten darin hinzufügen.

Antwort

1

Sie können Array in PHP erstellen und Funktion verwenden, um für z.

$arr= array('val1'=>array('your val1', 'your val2'), 
    'val2'=>array('your val1', 'your val2'), 
    ); 

    $data = json_encode($arr); 
// if you want to set in url 
$client = new Zend_Http_Client($uri); 
$client->setRawData($data, 'application/json')->request('POST'); 

Sie müssen json_decode verwenden, um Ihre Werte später zu erhalten. Hoffe, das hilft!

+0

ja. das ist gut. Aber jede andere Möglichkeit, JSON-Daten direkt zu übergeben? –

+0

Ihre Emai-ID bitte? –

+0

Warum brauchen Sie eine andere Option? zum direkten Senden, unten Link kann helfen. https://stackoverflow.com/questions/21271140/curl-and-php-how-can-i-pass-a-json-through-curl-by-put-post-get – Pallavi

Verwandte Themen