2017-01-28 2 views
0

Я разрабатываю собственный клиент REST Java для отправки запроса POST на сервер с приведенной ниже информацией о сообщении и ее полезной нагрузкой. Я использую Apache HttpClient и HttpPost.Отправить Http сообщение от собственного клиента Java Rest

Задача, с которой я столкнулся, заключается в том, как определить и установить границу и передать объект JSON в тело сообщения. Когда я тестирую следующий пост-запрос с помощью клиентского инструмента для отдыха (например, Postman или Advanced REST client), он работает. Однако мне нужно реализовать его в своем собственном 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.

Ваша проблема заключается в том, что с boundary значением MYBOUNDARY, фактическая граница --MYBOUNDARY, и терминатор --MYBOUNDARY--.

+0

Спасибо Андреасу за ваши предложения. Можете ли вы также помочь мне узнать, есть ли у нас какие-либо реализации, доступные Apache (или любой другой открытый исходный код), который решает вышеуказанную проблему. –

Смежные вопросы