HTTP , HTTPS 요청
httpbin.org 활용하기
이거 진짜 진짜 유용하니까
꼭- 꼭-
제 블로그 내용 읽어보시고 사용해보세요
지금 회사에서 다양한 업체 API를 연동하는 일을 주로 하고있는데,
Jersey 라이브러리를 활용해서 회사에서 만든 유틸을 활용하여 HTTP 요청을 하고있다.
내가 보내고 싶은 요청의 형태는 아래와 같다.
POST 방식으로 파라미터(Parmas)가 아닌,
바디(Body)에 JSON형태로 보내고
JSON 타입이라는걸 명시를 해줘야 해서
헤더(Headers)에 Content-Type=application/json 를 추가해서 보내고 싶었다.
회사 유틸을 활용해서
필요한 값들을 바인딩하여 HTTP 요청을 했는데,
업체 API에서 500에러를 뱉어줘서
업체 API 문제인지, 내 소스가 문제인지 확인을 하기 위해
포스트맨으로 테스트를 해보니 정상 200을 뱉어줬다...
이 뜻은 내 소스 문제라는 것인데...
(흑흑)
코드를 다시 보아도 제대로 값을 바인딩을 하였고,
유틸 쪽 소스를 확인해 보았지만 큰 이상이 있는 부분은 없었다.
한마디로 소스로만은 쉽게 파악이 잘 안되었다.
그러던 도중 코딩 스승님이 도움을 주었다 !
(감사합니다 꾸벅)
바로 httpbin.org 를 활용하면 됩니다!
어렵지 않고 간단하니 다들 한번 따라 해보십시오
httpbin.org를 요청 URL로 지정하고
값을 보내면(요청하면)
내가 보낸 값을 그대로 응답으로 온다.
말 그대로
내가 보낸 요청이 그대로 응답이 찍혀서 돌아온다 !
당연히 그 응답을 보려면
로그를 찍어야 하는거 다들 아시쥬 ?
이제 어떻게 하는건지 알려 드리겠습니다
POST 방식으로 보낼거기 때문에
https://httpbin.org/post ◀ Returns POST data.
위의 URL로 경로를 설정해주었다.
요청을 보냈고 응답이 잘 왔다.
아래와 같은 결과가 로그에 찍혔다.
🔍 응답 결과
jsonResult { args={}, data={"date":"20230704","userPhone":"01000000000","userName":"김구라","userId":"kimgura"}, files={}, form={}, headers={Accept=application/json, Cache-Control=no-cache, Content-Length=179, Content-Type=text/plain, Host=httpbin.org, Pragma=no-cache, User-Agent=Java/1.8.0_292, X-Amzn-Trace-Id=Root=1-64a37208-5xxxx}, json={date=20230704, userId=kimgura, userName=김구라, userPhone=01000000000}, origin=112.xxx.xxx.xxx, url=https://httpbin.org/post}
헤더(headers) 값에
Content-Type이 text/plain으로
들어간 것을 발견 할 수 있었다. . .
○| ̄|_
알고보니 회사 유틸의 공통으로 헤더 세팅해주는 부분이 이슈가 있어서
내가 직접 설정을 해줘야 했던것 이였다 . . .
그래서,
분기처리를 하여 직접 헤더를 설정해주니
Content-Type=text/plain이 아닌,
Content-Type=application/json로
값이 잘 들어간것을 확인 하였고
다시 업체 API에 HTTP POST 요청을 하니
정상 200으로 응답이 왔다 !
👍🏼
이렇게 로그를 찍어보면 내가 어떻게 보냈는지 한번더 확인을 해볼 수 있으니
너무 좋다.. 좋아..
그리고 내가 혹여나 올바르게 맞게 잘 보냈는데도 문제가 있다면
그건 내 소스 문제가 아니고 해당 API를 만든 사람이 문제니까
당당하게 확인해달라고 요구 할 수 있다 ㅋ
필요에 맞는 URL을 사용하세요 !
https://httpbin.org/get ◀ Returns GET data
https://httpbin.org/post ◀ Returns POST data
https://httpbin.org/put ◀ Returns PUT data
https://httpbin.org/delete ◀ Returns DELETE data
아래 사이트를 확인하면,
상황에 맞게 URL이 정의되어 있으니
참고해서 활용해보시길 바랍니다
▼ 참고 ▼
https://stackoverflow.com/questions/5725430/http-test-server-accepting-get-post-requests
HTTP test server accepting GET/POST requests
I need a live test server that accepts my requests for basic information via HTTP GET and also allows me to POST (even if it's really not doing anything). This is entirely for test purposes. A good
stackoverflow.com
'WEB 지식 이것 저것' 카테고리의 다른 글
[WEB] 웹 3대 요소 - HTML, HTTP, URI (1) | 2024.01.06 |
---|---|
[WEB] HTTP 렌더링, 웹 브라우저 렌더링 과정 (2) | 2024.01.05 |
[WEB] 웹 브라우저 동작원리 와 과정 (2) | 2024.01.04 |
[Git] 소스트리(SourceTree)로 프로젝트 클론(Clone) 하는 방법 (2) | 2023.12.07 |
[IT] 하드코딩(Hardcoding)과 소프트코딩(Softcoding)이란? (1) | 2023.12.06 |