Ich führe einen Komponententest für meine API-Endpunkte in Slim durch. Dies ist, was ich verwenden, um Daten an den Endpunkt zu übergeben:Schlank - Übergeben der Rohdaten-Zeichenfolge an die Anfrage-Nachricht
$requestData = [
'field1' => 123,
'field2' => 4567,
....
]
$request->withParsedBody($requestData);
Jetzt müssen wie unter dem Endpunkt mit XML oder JSON-String testen -
$requestData = '<xml>
<appid><![CDATA[app123]]></appid>
<device_info><![CDATA[test-device-5678]]></device_info>
....
</xml>';
$request->withParsedBody($requestData);
Das Problem ist, dass withParsedBody() nur Array akzeptiert oder Objekt. Meine Frage ist also: Was ist der richtige Weg, um eine Rohdatenfolge an die Anfrage zu übergeben?
können Sie versuchen, $ json = json_encode ($ string) 'als' json_decode ($ json, true) 'für Array – gaurav
Leider erwartet der Endpunkt XML-Strings und wird Fehler, wenn die Eingabe nicht XML-Strings ist. Also muss ich die ursprüngliche Zeichenfolge übergeben, um sie zu testen. – LazNiko
gut können Sie '$ Anfrage-> getBody() -> schreiben (" String ");' –