공공데이터 포털 주소
https://www.data.go.kr/index.do
공공데이터 포털 사이트에 들어가면 공공기관 및 정부기관에서 제공하는 다양한 데이터들을 파일데이터나, Open API 형태로 받을 수 있다.
이러한 공공데이터 오픈API 를 스프링에 적용시키는 방법을 공부해보았다.
공공데이터 포털 -> 데이터 찾기 -> 데이터목록에 들어가보면
다양한 공공데이터들이있다. 이중 오픈 API를 지원하는 공공데이터를 골라 활용신청을 누르면
[자동승인] 이라고 나와있는 것들은 바로 승인되어 사용할 수 있다.
신청후 상세보기에 들어가보면
해당 오픈 API는 REST 방식으로 통신하며 데이터 포맷은 XML 형식이라는 것을 알 수 있다.
참고문서를 열어 사용 예시를 확인해보면,
해당 서비스 URL에 발급받은 ServiceKey와 함께 위의 요청항목(Request)에 맞는 값들을 쿼리스트링으로 넣어줘야한다.
요청한 값들을 바탕으로 다음과 같은 xml형식으로 응답해주면, 이것을 Java단에서 처리할수있도록 코드를 구현해보았다.
JAVA에서 xml 파일을 사용하기
먼저 다음과 같은 간단한 값을 가지고있는 xml파일을 Java 프로젝트 폴더안에 만들어서 넣는다.
그리고, 이 XML파일을 읽을 Main 클래스를 만들어준다.
DocumentBuilderFactory
오픈 API를 통해 받은 XML 값들을 읽을수있는 객체가 필요할 것이다.
DocumentBuilder 클래스는 XML 문서로부터 DOM Document 인스턴스를 얻을수 있다.
DocumentBuilderFactory 클래스를 통해 인스턴스를 생성하여, DocumentBuilder 객체를 생성한다.
DocumentBuilder 객체는 xml 파일을 해석하여 DOM구조로 만들수있는 객체이다.
그리고, parse() 메소드의 파라미터로 xml 파일의 경로를 넣어주면
해당 xml파일에 대한 Document 객체가 생성된다.
이러한 Document 객체를 통해서 XML파일내 다양한 요소 및 태그 값에 접근할수있다.
Document 객체의 getDocumentElement() 메소드를 통해 XML파일의 Root Element에 접근한다.
Element : XML태그의 요소 객체 (위 xml 파일상 <booklist>(Root element) )
Node : 하위요소 객체 (<booklist> 내부 <book> 요소)
Node 객체의 값을 읽기위해 getElementsByTagName("태그명") 메소드를 통해 해당 태그명의 element들을 객체로 만들수 있다.
그리고 해당 element의 값을 얻으려면 getTextContent() 메소드를 사용한다.
getElementsByTagName("태그명") .getLength() xml 파일의 Root Element 요소의 하위 요소의 갯수를 구하고,
위의 과정을 for문을 통해 xml파일내 요소들의 값을 꺼낼수있다.
위의 과정을 통해 오픈 API를 통해 얻어온 xml 파일의 값들을 JAVA단에서 변수로 받을수있고,
이를 다양한 분기처리를 통해 웹 View로 뿌려줄수 있다.
'Category > Spring' 카테고리의 다른 글
[Spring] JUnit과 slf4j 사용하여 단위 테스트 하기 (2) | 2024.01.03 |
---|---|
[Spring] RestController (0) | 2024.01.03 |
[Spring] 스프링의 기본 xml파일들 (0) | 2023.12.22 |
[Spring] Aspect-Oriented-Programming (1) | 2023.12.22 |
[Spring] 외부 properties 파일을 이용한 Bean 설정 (0) | 2023.12.20 |