Spring(기초)-4주차-1

Jonguk Kim·2021년 11월 18일
0

Spring

목록 보기
8/16

1. 요약

3계층 레이어 (Controller - Service - Repository)

  • Controller: 제일 바깥 쪽에서 요청을 받고, 응답을 돌려주는 역할
  • Service: 중간에서 구체적인 작업 순서를 결정, CRUD(수정)
  • Repository: DB와 직접 소통하여 CRUD(생성/조회/삭제)하는 역할
  • 각 레이어 간에는 절대 Entity를 직접 사용하지 않고, DTO 라는 택배상자를 만들어 사용

2. 네이버 쇼핑 API 이용하기

API 이용 신청

API 정보 확인

ARC 사용

  1. <API 기본 정보> 에서 출력포맷이 JSON 인 녀석의 요청 URL을 복사
  2. ARC의 URL에 붙임
  3. 첫 번째 header name: "X-Naver-Client-Id", value: Client ID 붙임
  4. 두 번째 header name: "X-Naver-Client-Secret", value: Client Secret 붙임
  5. 주소 제일 마지막에 "?query=adidas"라고 적은 뒤 SEND 버튼 (? 부터는 url이 아닌 필요한 정보)
  6. 아디다스 검색 성공
  7. 필요한 정보 (title, link, image, lprice)

3. 자바로 네이버 쇼핑 API 이용하기

자바 코드 확인하기

  1. ARC 응답 확인
  2. JAVA 탭 -> SPRING 탭 -> 복사

프로젝트 생성하기

  1. 프로젝트 설정
  2. 라이브러리 추가
  3. 환경설정 (Auto Import)
  4. 환경설정 (Annotation Processors)
  1. utils 패키지 생성 (src > main > java > com.sparta.week04)
  2. 클래스 생성 (NaverShopSearch.java)
  3. search 메소드 생성
  4. ARC 코드 복사 (JAVA -> SPRING)
  5. response 반환
package com.sparta.week04.utils;

import org.springframework.http.*;
import org.springframework.web.client.RestTemplate;

public class NaverShopSearch {
    public String search() {
        //////////여기에 자바코드 복사//////////
        RestTemplate rest = new RestTemplate();
        HttpHeaders headers = new HttpHeaders();
        headers.add("X-Naver-Client-Id", "FFBgnQz1WGHs4zhkgJAK");
        headers.add("X-Naver-Client-Secret", "c4RRV0_1jJ");
        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);
        ///////////////////////////////////

        return response;	// 결과 반환
    }

    public static void main(String[] args) {
        NaverShopSearch naverShopSearch = new NaverShopSearch();
        naverShopSearch.search();
    }
}
profile
개발일지

0개의 댓글