1

2 つのメッセージのうちの 1 つを言うと常にエラーになります。 {"message":"Required field 'specList' is not specified"}または追加するspecListと、それは言う'400 Bad Request' response: {"message":"Can not deserialize instance of java.util.ArrayList out of VALUE_STRING token"}

これは私が持っているものです:

    $client = new GuzzleHttp\Client(['base_uri' => 'https://someURL/PrismGateway/services/rest/v1/']);
    $res = $client->request('POST', 'vms/'.$vmId.'/clone',
        [
            'verify' => false,
            'auth' => ['user', 'pass'],
            'json' => [
                'specList' => '[{"name":"test9"}]'
                //tried 'create.dto.acropolis.VMCloneDTO' => '{"specList":[{"name":"test9"}]}'
            ]
        ]
    );

それを使用create.dto.acropolis.VMCloneDTOすると{"message":"Required field 'specList' is not specified"}、それを変更するとspecList、上記の逆シリアル化エラーが発生します。何が間違っているのかわかりませんが、API の実際のパラメーターは次のようにリストされており、応答は json データ型としてcreate.dto.acropolis.VMCreateDTO期待されます。specList

誰かがなぜそれが機能しないのかを理解するのを手伝ってくれますか?

4

1 に答える 1

0

理解した。を取り除き、json追加しましたbody

'body' => '{"specList":[{"name":"test9"}]}'
于 2016-07-22T16:01:17.757 に答える