Dandy Now!
  • [스프링 부트][문제해결] 네이버 지역 검색 API의 category가 null 값으로 오는 문제 해결
    2022년 08월 09일 20시 26분 53초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    [그림 1] 네이버 API : 검색 > 지역

     

    위의 API 문서를 토대로 아래와 같이 코딩하였다. 하지만 이대로는 "category=null"을 반환하는 문제가 발생하였다.

    package com.example.restaurant.naver.dto;
    
    import java.util.List;
    
    import com.example.restaurant.naver.dto.SearchImageRes.SearchImageItem;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class SearchLocalRes {
    	
    	private String lastBuildDate;
    	private int total;
    	private int start;
    	private int display;
    	private String category; // 네이버 검색 지역 API 문서 대로 코딩한 category 위치
    	private List<SearchLocalItem> items;
    	
    	
    	@Data
    	@NoArgsConstructor
    	@AllArgsConstructor
    	public static class SearchLocalItem{
    		private String title;
    		private String link;
    		private String description;
    		private String telephone;
    		private String address;
    		private String roadAddress;
    		private int mapx;
    		private int mapy;
    	}
    }

     

    아래 코드와 같이 category 변수의 위치를 Item 하위에 두어야 카테고리 값을 정상적으로 가져올 수 있었다. 

    package com.example.restaurant.naver.dto;
    
    import java.util.List;
    
    import com.example.restaurant.naver.dto.SearchImageRes.SearchImageItem;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class SearchLocalRes {
    	
    	private String lastBuildDate;
    	private int total;
    	private int start;
    	private int display;
    	private List<SearchLocalItem> items;
    	
    	
    	@Data
    	@NoArgsConstructor
    	@AllArgsConstructor
    	public static class SearchLocalItem{
    		private String category; // category 위치를 Item 하위로 옮겼다.
    		private String title;
    		private String link;
    		private String description;
    		private String telephone;
    		private String address;
    		private String roadAddress;
    		private int mapx;
    		private int mapy;
    	}
    }

     

    ※ 이상의 내용은 패스트 캠퍼스 Java & Spring-boot 과정을 통해 알게 된 내용이며 "네이버 지역 검색 API 문서"가 오해의 소지가 있어 보여 기록하였다.

    728x90
    반응형
    댓글