Springboot/Api

Springboot 사업자등록조회 api호출하기

디비드킴 2021. 12. 21. 23:01

기업회원을 받을 때
정상적인 사업자인지 검사를 해야 했다
다행히 나라에서 제공해주는 api가 있었고
사용하기만 하면 됐다
근데 왠..?
postman에서 잘만됐는데
서버에서 하니까 안되는 것이었다
그래서 방법을 찾아봤다

내가 고통받은 에러는
"등록되지 않는 키였다"

문제는 restTemplate였고
api호출을 okhttp3을 주입하고
다시 시도하고 성공했다!

api
https://www.data.go.kr/data/15081808/openapi.do

 

국세청_사업자등록정보 진위확인 및 상태조회 서비스

국세청에서 제공하는 사업자등록정보 진위확인 및 사업자등록 상태조회 API 서비스입니다.

www.data.go.kr

내가 찾은 글
https://imspear.tistory.com/m/130

 

OpenAPI 데이터를 자바를 이용해 데이터를 받기(POSTMAN을 이용해 공공데이터 오픈API에 데이터 요청,

공공데이터에서 활용 신청을 받은 후 POSTMAN, OkHttp, Java를 이용해 데이터를 받아보도록 하겠습니다. POSTMAN에서 Request 요청을 받을 데이터들을 다 작성한 후 코드 스니펫으로 Java - OkHttp를 선택해

imspear.tistory.com

감사하게도 친절히 설명되어있었다
다만 옛날 방식이어서 밑줄이 쫙쫙 가는 것이다

그래서 찾아봤다
https://stackoverflow.com/questions/34179922/okhttp-post-body-as-json

 

OkHttp Post Body as JSON

So, back when I was using Koush's Ion, I was able to add a json body to my posts with a simple .setJsonObjectBody(json).asJsonObject() I'm moving over to OkHttp, and I really don't see a good way t...

stackoverflow.com

이글에서 잘 알 수 있었다 다만
jsonArray로 우리는 전송해줘야 한다

코드

jungbuService.java

딱히 설명할 부분이 없다 저렇게
. tostring으로 보내면 된다!

결과

vscode

핵심은
{"businesses":[{"b_no":"108","start_dt":"20211221","p_nm":"대표자성명","p_nm2":"","b_nm":"","corp_no":"","b_sector":"","b_type":""}]}
json배열로 전송해야 한다!
{[{"내용"}]}이렇게 json안에 배열 안에 json으로!

 

https://github.com/novb1492/SUPERMAN_SERVER_ADMIN/blob/develop/src/main/java/com/kimcompany/jangbogbackendver2/Api/JungBu.java

 

GitHub - novb1492/SUPERMAN_SERVER_ADMIN

Contribute to novb1492/SUPERMAN_SERVER_ADMIN development by creating an account on GitHub.

github.com