본문 바로가기
스프링 (Spring)/SelectShop Project

SelectShop - 키워드로 상품 검색하기2

by 후닝훈 2021. 8. 3.
반응형

네이버 API 서비스 연결

 

요구사항

  1. 사용자가 검색어를 입력하면, 컨트롤러가 그것을 전달받습니다.
  2. 전달받은 검색어로 네이버 API에 요청하고, 그 결과를 사용자에게 응답합니다.

 

NaverShopSearch 컴포넌트 등록하기

- 검색을 main 메소드에서 진행하는게 아니라, Controller 에서 가져다 써야 한다.

- 스프링이 자동으로 필요한 클래스를 필요한 곳에 생성하려면, 컴포넌트 등록을 해야한다.

- 컴포넌트는 사용자가 요구하면 자동으로 생성할 클래스 목록 이라고 이해할 수 있다.

@Component // @RequiredArgsConstructor 와 함께 사용될 경우 스프링이 자동으로 생성한다.
public class NaverShopSearch {

 

SearchRequestController 생성

@RequiredArgsConstructor // final 로 선언된 클래스를 자동으로 생성
@RestController // JSON으로 응답함을 선언.
public class SearchRequestController {

    private final NaverShopSearch naverShopSearch;

    @GetMapping("/api/search")
    public List<ItemDto> getItems(@RequestParam String query) {
        String resultString = naverShopSearch.search(query);
        return naverShopSearch.fromJSONtoItems(resultString);
    }
}

 

현재 디렉토리 구조

 

ARC로 테스트

반응형

댓글