2017-01-28 4 views
0

私はネイティブJava RESTクライアントを開発して、以下の投稿情報とペイロードを持つPOST要求をサーバーに送信します。私はApacheのHttpClientとHttpPostを使用しています。ネイティブJava RestクライアントからHttp Postを送信

私が直面している課題は、境界を定義して設定し、JSONオブジェクトを投稿本体に渡す方法です。私は、PostmanまたはAdvanced RESTクライアントのような、残りのクライアントツールで以下の投稿要求をテストすると動作します。しかし、私はそれを私のネイティブJavaコードで実装する必要があります。以下のデータ、特にMYBOUNDARYから--MYBOUNDARYまでの情報をどのように渡すのですか?改行/空白行を渡して何らかのエンコーディングを行う必要がありますか?

以下はPOST要求と送信する必要のあるペイロードです。

POST /savedata/saveimage/imageid HTTP/1.1 
Host: mywebsite.com 
Authorization: Bearer T1touCsbcNNrQpMdJjqspLCwhbiQ 
Accept: application/json, text/plain, */* 
Content-Type: multipart/form-data; boundary=MYBOUNDARY 
Cache-Control: no-cache 

MYBOUNDARY 
Content-Disposition: form-data; name="entity_priority" 

{"Name":"Jack","Date":"2017-01-25T11:06:33.834Z","notes":{"records":[{"Text":"123456789","Type":"None","Attachments":{"records":[]}}]},"CreatedBy":{"user":"2020"}} 
--MYBOUNDARY 

答えて

0

独自の実装を作成するつもりなら、あなたはどのようにmultipart/*作品、例えば上の明細書を読むことから始めなければなりませんRFC1341(MIME) : 7 The Multipart content type、またはHTML 4.01 Specification - multipart/form-dataです。

あなたの問題はMYBOUNDARYboundary値で、実際の境界は--MYBOUNDARYであるということである、とターミネータは--MYBOUNDARY--です。

+0

あなたの提案に感謝します。また、上記の問題を解決するApache(または他のオープンソース)で実装されているものがあれば教えてください。 –

関連する問題