2017-01-24 12 views
0

次のコードを使用してHTTP PUTリクエストでエンティティを転送しようとしています。Apache OlingoでPUTリクエストを作成するには?

public ClientEntity createEntity(URI absoluteUri, 
     ClientEntity ce) { 

    ODataEntityCreateRequest<ClientEntity> request = client 
      .getCUDRequestFactory().getEntityCreateRequest(absoluteUri, ce); 
    request.setAccept("application/json;odata.metadata=minimal");  
    ODataEntityCreateResponse<ClientEntity> response = request.execute(); 
    return response.getBody(); 
} 

機能getEntityCreateRequestは、しかし、唯一POST要求を作成し、(私の知る限り)を用いHttpMethodのない変更を可能にしません。この要求は唯一HttpMethodPATCHまたはREPLACEすることができますので、

残念ながら、ODataEntityUpdateRequestは、また、オプションではありません。

ドキュメント内で私は関数setMethod(HttpMethod method)を見つけましたが、このメソッドはクライアント実装ではなくサーバーでのみ使用できます(https://olingo.apache.org/javadoc/odata4/org/apache/olingo/server/api/ODataRequest.html)。

さらに、私はsetUseXHTTPMethod(boolean value)を発見しました。これはPUT, MERGE, PATCH, DELETEからPOSTを介してトンネルします。クライアントの設定を確認して、isUseXHTTPMethodfalseであることを確認しました。 (機能参照:https://olingo.apache.org/javadoc/odata4/org/apache/olingo/client/api/Configuration.html

したがって、Apache OlingoでPUTリクエストを行う方法を知りたいですか?

ありがとうございます。 UpdateType.REPLACE

答えて

1

ODataEntityUpdateRequest はPUT方法と同等であるべきです。

注意the source code、ライン31

+0

もう一度、ありがとうございます。これは問題を解決します。 :) –

1

updateEntity方法を実装します。

+0

ありがとうございました。あなたは完全に正しいです、 'updateEntity'は必要なメソッドを持っています。 :) ありがとうございました! –

関連する問題