0

HTTP アダプターを使用して、REST API として実装されたバックエンド サービスに Post 経由で JSON オブジェクトを送信しようとしています。

いくつかのことがうまくいかないか、間違っています。クエリ パラメーターは REST サービス プロバイダーに転送されません。それらをパスに追加するか、呼び出しのパラメーター オブジェクトに追加するかに関係なく。

HTTP アダプターは常に、この REST インターフェイスで受け入れられないチャンク化された Transfer-Encoding を使用しています。HTTP アダプターの動作に影響を与える方法はありますか?

私の呼び出しは次のようになります。

function doSomething(data1, data2, payload) {
    var input = {
        'method' : 'post',
        'path' : '/myRESTAPI/SalesOrder',
        'returnedContentType' : 'json',

        'headers' : {
            'Accept-Encoding': 'gzip,deflate',
            'Content-Type': 'application/json'
        },

        'parameters' : {
            'data1' : data1,
            'data2' : data2
        },

        'body': { 
                    'contentType' : 'application/json',         
                    'content' : payload
                }

    };  
        return WL.Server.invokeHttp(input);
} 

私がそこで行ったエラーが表示されますか?

4

1 に答える 1

1

ここで答えを見つけることができます:ワークライト アダプター

5.0.5.x では、invokeHttp は put と post のパスで提供されたすべてのパラメーターを取得し、それらをクエリ パラメーターとしてパスに残すのではなく、http 本文内に配置します (おそらく開発者が意図したように)。この動作は今後のバージョンで更新される予定ですが、現時点ではこれらを強制的にクエリ パラメータのままにする方法はありません。

于 2013-04-08T12:17:57.507 に答える