Ответ 1
Вы можете передать весь JSON через stdin
:
$ echo '{ "user": { "name": "john", "age": 10 } }' | http httpbin.org/post
Или указать значение raw JSON как значение с :=
:
$ http httpbin.org/post user:='{"name": "john", "age": 10 }'
Я пытаюсь использовать HTTPie для разбора для отправки некоторого вложенного объекта JSON, но я не могу найти его. Довольно ясно, как отправить объект JSON, но не вложенный, например
{ "user": { "name": "john" "age": 10}}
Вы можете передать весь JSON через stdin
:
$ echo '{ "user": { "name": "john", "age": 10 } }' | http httpbin.org/post
Или указать значение raw JSON как значение с :=
:
$ http httpbin.org/post user:='{"name": "john", "age": 10 }'
Мне нравится этот путь:
$ http PUT localhost:8080/user <<<'{ "user": { "name": "john" "age": 10 }}'
Это предпочтительнее, потому что он имеет тот же префикс, что и соответствующие команды, и поэтому удобно находить команды с Ctrl+R
в bash:
$ http localhost:8080/user/all
$ http GET localhost:8080/user/all # the same as the previous
$ http DELETE localhost:8080/user/234