2016-10-21 3 views

ответ

1

Вам необходимо указать заголовок пользователя в вашей команде, как показано ниже.
-H/- заголовок "Content-Type: применение/JSON"

Так полная команда будет как: локон -H "Content-Type: применение/JSON" -X POST -d «{» имя пользователя ":" abc "," password ":" xyz "} 'http://url/to/some/server

+0

Я попробовал ваш формат Hrishikesh. Он работает, как и ожидалось, благодаря мне. –

1

Предполагая, что вы спрашиваете, как отформатировать запрос POST с атрибутами JSON.

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d "{'json':{'key':'value'}}" http://your.domain/endpoint/here 

This page охватывает множество полезных случаев.

+0

Спасибо, Джек и Хришикеш, ваш ответ мне очень помог. Я создал следующую команду curl: curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d "{'json': {" Name ":" web "," «TaskTemplate»: {«ContainerSpec»: {«Изображение»: «nginx: alpine», «Mounts»: [{«VolumeOptions»: {«DriverConfig»: {}}}], «Пользователь»: «33»} «LogDriver»: {«Name»: «json-file», «Options»: {«max-file»: «3», «max-size»: «10M»}}}}} https: // : 2376/services/create. но он бросил мне 500 ошибок, можете ли вы оглянуться назад, где я сделал ошибку, которая мне очень помогла? –

+0

Ваш API, вероятно, не ожидает, что ваш json начнет с ключа с именем json, поэтому удалите его. {"Name": "web", "TaskTemplate": {"ContainerSpec": {"Изображение": "nginx: alpine", "Mounts": [{"VolumeOptions": {"DriverConfig": {}}}] , «Пользователь»: «33»}, «LogDriver»: {«Имя»: «json-file», «Параметры»: {«max-file»: «3», «max-size»: «10M»} }}} –

+0

Я пробовал этот разъем, но это не решило проблему. Ниже приведено сообщение об ошибке, которое я получаю: HTTP/1.1 500 Внутренняя ошибка сервера Content-Type: application/json Сервер: Docker/1.12.2 (linux) Дата: Пт, 21 окт 2016 14:12:12 GMT Content-Length: 81 –

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