HTTPie를 사용하여 중첩된 JSON 개체 전송
HTTPie를 사용하여 네스트된 JSON 개체를 전송하려고 하는데 방법을 찾을 수 없습니다.JSON 오브젝트를 송신하는 방법은 명확하지만, 다음과 같이 네스트된 오브젝트는 송신하지 않습니다.
{ "사용자": { "이름":"john" "age" : 10 }
2022년 1월에 출시된 HTTPie 3.0 업데이트:
HTTPie 언어를 사용하여 중첩된 JSON을 기본적으로 지원합니다.
$ http pie.dev/post \
tool[name]=HTTPie \
tool[about][homepage]=httpie.io \
tool[about][mission]='Make APIs simple and intuitive' \
tool[platforms][]=terminal \
tool[platforms][]=desktop \
tool[platforms][]=web \
tool[platforms][]=mobile
{
"tool": {
"name": "HTTPie",
"about": {
"mission": "Make APIs simple and intuitive",
"homepage": "httpie.io"
},
"platforms": [
"terminal",
"desktop",
"web",
"mobile"
]
}
}
중첩된 JSON에 대한 자세한 내용은 다음 문서를 참조하십시오.https://httpie.io/docs/cli/nested-json
3.0 이전 HTTPie에 대한 오래된 답변:
다음을 통해 JSON 전체를 전달할 수 있습니다.
$ 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
Here Strings 가 없는 경우 다음 회피책을 제안할 수 있습니다.
~> function tmp; set f (mktemp); echo $argv > "$f"; echo $f; end
~> http POST localhost:8080/user < (tmp '{ "user": { "name": "john", "age": 10 }}')
httpie 문서에서 언급된 다른 접근법은 JSON 파일을 사용하는 것입니다. 이것은 보다 상세하고 깊이 중첩된 페이로드에 대해 잘 작동했습니다.
http POST httpbin.org/post < post.json
Windows 10(cmd.exe)에서는 인용 규칙에 따라 구문이 약간 다릅니다.속성/문자열은 큰따옴표로 둘러싸야 합니다.
http -v post https://postman-echo.com/post address:="{""city"":""london""}"
POST /post HTTP/1.1
Content-Type: application/json
Host: postman-echo.com
User-Agent: HTTPie/2.3.0
{
"address": {
"city": "london"
}
}
또한 에코를 사용하여 이중 따옴표 없이 개체 전체를 전송할 수도 있습니다.
echo {"address": {"city":"london"} } | http -v post https://postman-echo.com/post
언급URL : https://stackoverflow.com/questions/37215565/sending-nested-json-object-using-httpie
'programing' 카테고리의 다른 글
$location 서비스를 사용하여 angularjs 컨트롤러를 테스트하는 방법 (0) | 2023.03.07 |
---|---|
Oracle SQL 쿼리를 테스트하기 위한 온라인 데이터베이스? (0) | 2023.03.07 |
Spring Boot의 JPA 저장소에 대해 "유형 검증 완료 없음" (0) | 2023.03.07 |
Javascript: Ajax와 함께 JSON 개체를 보내시겠습니까? (0) | 2023.03.07 |
폼 제출을 포함한 모든 http 요청을 대행 수신하는 방법 (0) | 2023.03.07 |