ARC도 포스트맨과 마찬가지로 API를 테스트할 수 있는 도구이다. (찾아보니 크롬 확장 프로그램도 있어서 편리하게 사용할 수 있을 것 같다.)
API 요청 방식은 포스트맨과 사용법이 같다. 검색 목록을 가져올 것이기 때문에 header에 클라이언트 id와 pw를 넣어주고 query parameter에 검색어를 입력해주고 GET방식으로 네이버 API를 호출한다.
url창 아래 부분에 HEADERS 글자 옆쪽을 보면 CODE SNIPETTS라는 글자가 있다. 눌러보면 코드가 생성되는 것을 확인 할 수 있는데 JAVA-SPRING을 누르면 코드가 생성된다.
검색결과가 문자열 타입으로 response 안에 들어가있기 때문에 이걸 가져가서 활용하면 된다.
...
String body = "";
HttpEntity<String> requestEntity = new HttpEntity<String>(body, headers);
ResponseEntity<String> responseEntity = rest.exchange("https://openapi.naver.com/v1/search/shop.json?query=나이키", HttpMethod.GET, requestEntity, String.class);
HttpStatus httpStatus = responseEntity.getStatusCode();
int status = httpStatus.value();
String response = responseEntity.getBody();
System.out.println("Response status: " + status);
System.out.println(response);
body라는 String을 만들어서 응답을 받으면 requestEntity에 넣어준다.
코드에 있는 HttpStatus는 ARC나 포스트맨으로 API를 테스트했을 때 결과가 제대로 나오면 OK와 함께 뜨는 "200"이라는 숫자를 말한다.
(HTTP 200 0K는 요청이 성공했다는 걸 알려주는 응답 상태코드이다. )
자바에서 위의 API를 호출하기 위해서는 메서드를 만들어 준다. 검색결과를 반환해야하기 떄문에 String을 반환하는 메서드르 만들어 주고 그 안에 위에서 생성된 코드를 넣어주면 된다.
public String search() {
return response;
}
반환해줘야 하는데 ARC에서 생성된 코드에는 return문이 없으므로 추가해줘야 한다.
실행시켜주면 응답코드 200과 함께 검색 결과가 출력되는 것을 확인할 수 있다.
