study/spring | java 17

[Select Shop] 셀렉샵 만들기 7. 키워드로 상품 검색하기①

[1] 검색어 바꾸기 (query 받기) [NaverShopSearch.java] public class NaverShopSearch { public String search(String query) { RestTemplate rest = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); headers.add("X-Naver-Client-Id", "GuziZfI6S6a2kj4i6n1h"); headers.add("X-Naver-Client-Secret", "czg3oFpmZg"); String body = ""; HttpEntity requestEntity = new HttpEntity(body, headers); ResponseEntity re..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 6. 관심 상품 등록하기

[관심 상품 + 가격정보 받기] src > main > java > com.xxx.xxx > models > ProductRequestDto src > main > java > com.xxx.xxx > models > ProductMypriceRequestDto [ProductRequestDto.java] @Getter public class ProductRequestDto { private String title; private String link; private String image; private int lprice; } [ProductMypriceRequestDto.java] @Getter public class ProductMypriceRequestDto { private int mypric..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 5. 관심 상품 조회하기

src > main > java > com.xxx.xxx > models 패키지 생성 > Timestamped 클래스 생성 [Timestamped.java 클래스] @Getter //get 함수 자동 생성 @MappedSuperclass //멤버 변수가 컬럼이 되도록 함 // ↑ createAt과 modifiedAt이, 상속한 클래스의 멤버변수가 되도록 만들어줌 @EntityListeners(AuditingEntityListener.class) //변경되었을 때 자동으로 기록 public abstract class Timestamped { @CreatedDate // 최초 생성 시점 private LocalDateTime createdAt; @LastModifiedDate // 마지막 변경 시점 priv..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 4. 프로젝트 설계

1~3. 에서 Naver API 사용하는거 연습했으니까 이제 프로젝트 설계해 보기 ! [0] 필요 기능 확인 - 키워드로 상품 검색, 결과를 목록으로 보여준다 (naver API) - 관심상품 등록하기 - 관심상품 조회하기 - 관심상품에 원하는 가격 등록, 그 가격보다 낮은 경우에 표시해주기 [1] API 기능 Method URL 반환값 키워드검색, 결과 list GET /api/search?query=검색어 List 관심 상품 등록 POST /api/products Product 관심 상품 조회 GET /api/products List 관심상품 가격 등록/표시 PUT /api/products/{id} id [2] 3계층 설계 1. Controller - ProductRestController : 관심 ..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 3. java에 네이버 API 적용하기

1. 자바 코드 확인하기 2. 스프링 프로젝트 준비하기 3. 검색 실행하고 결과 확인하기 [0] IntelliJ 새 프로젝트 - H2, lombok, spring Web, JPA, mySQL 추가 - auto import, annotation 설정 (ctrl+alt+s) * auto import └ Insert imports on paste : Always └ Add unambiguous imports on the fly (checked) * annotation └ compiler 검색 - Annotation Processors Enable annotation processing (checked) [1] NaverShopSearch.java 클래스 src > main > java > com.xxx.xxx..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 2. 네이버 API 사용하기

[네이버 쇼핑 API 설명문서] https://developers.naver.com/docs/search/shopping/ 검색 API 쇼핑 검색 개발가이드 NAVER Developers - 검색 API 쇼핑 검색 개발가이드 developers.naver.com query 라는 이름으로 검색어를 넘겨줘야 함 (필수) display 한번에 출력할 개수 start : 검색 시작 위치 - 출력 데이터가 총 1만 개일때, display가 10개일 경우, 한 페이지에 10개씩 출력됨, 그때 몇 페이지 결과를 가져올 것인지 ex) 2페이지 : start = 2 , 11페이지 : start =11 sort : 정렬 기준 ( sim : 유사도순 date : 날짜순 ~~ ) curl "https://openapi.nav..

study/spring | java 2021.06.06

[Select Shop] 셀렉샵 만들기 1. 네이버 API 신청하기

* 네이버 API 목록 https://developers.naver.com/products/intro/plan/ [1] 네이버 쇼핑 API 알아보기 https://developers.naver.com/docs/serviceapi/search/shopping/shopping.md#%EC%87%BC%ED%95%91 쇼핑 - Search API 쇼핑 NAVER Developers - 검색 API 쇼핑 검색 개발가이드 검색 > 쇼핑 네이버 쇼핑 검색 결과를 출력해주는 REST API입니다. 비로그인 오픈 API이므로 GET으로 호출할 때 HTTP Header에 애플리케이션 등록 시 developers.naver.com 아래에 요청 정보 등 나와있는데 호출 예시를 보면 애플리케이션 등록 시 발급받은,,,? 나는 ..

study/spring | java 2021.06.06

[Timeline Service] 타임라인 서비스 | 번외 (조회 시간 제한)

❔타임라인 서비스가 불러오는 메모 목록의 시간을 조회 시간으로부터 24시간 이내로 변경해보기. 1) spring jpa localtime between 2) LocalDateTime.now() 현재 | LocalDateTime.now().minusDays(1) 참고 : https://krksap.tistory.com/959 spring data jpa 날짜 between 1.between 사용법 repository List findByLatestUpdateBetween(Date start, Date end); main.java Date before = new Date(System.currentTimeMillis() - 30000L); Date now = new Date(); System.out.print..

study/spring | java 2021.06.06

[Timeline Service] 타임라인 서비스 만들기 6. 메모 변경 (submitEdit)

1. 작성할 메모의 username과 contents를 확인 2. 작성한 메모가 올바른지 확인 3. 전달할 data를 JSON으로 바꾸기 4. PUT /api/memos/{id} 에 data를 전달 [addHTML 다시 살펴보기] // 메모 하나를 HTML로 만들어서 body 태그 내 원하는 곳에 붙이기. function addHTML(id, username, contents, modifiedAt) { let tempHtml = ` ${modifiedAt} ${username} ${contents} `; // 2. #cards-box 에 HTML을 붙인다. $('#cards-box').append(tempHtml); } [1] 작성 대상 메모의 username과 contents를 확인 읽기 모드 : co..

study/spring | java 2021.06.06