전체 글 229

나만의셀렉샵) 상품 검색 기능 만들기

- execSearch 함수 function execSearch() { /** * 검색어 input id: query * 검색결과 목록: #search-result-box * 검색결과 HTML 만드는 함수: addHTML */ $("#search-result-box").empty(); //기존에 입력되어있던 것들을 지움 // 1. 검색창의 입력값을 가져온다. let query = $("#query").val(); // 2. 검색창 입력값을 검사하고, 입력하지 않았을 경우 focus. if(query == "") { alert("검색어를 입력하세요."); $("#query").focus(); } // 3. GET /api/search?query=${query} 요청 $.ajax({ type: "GET", ..

Spring Framework 2021.07.29

나만의셀렉샵) HTML, 이미지 파일 준비하기

- 파일 분리 코드가 지나치게 길어지는 것을 방지하고 가독성을 높이기 위해 html에 몰아서 썼던 Javascript나 CSS를 분리함 - src > main > resources > static > index.html Select Shop 모아보기 탐색하기 Apple 아이폰 11 128GB [자급제] 919,990원 최저가 Apple 아이맥 27형 2020년형 (MXWT2KH/A) 2,289,780 원 X ⏰최저가 설정하기 최저가를 설정해두면 선택하신 상품의 최저가가 떴을 때 표시해드려요! 원 설정하기 - src > main > resources > static > js > basic.js let targetId; $(document).ready(function () { // id 가 query 인 녀..

Spring Framework 2021.07.28

나만의셀렉샵) 키워드로 상품 검색하기 - 네이버 API와 서비스 연결하기

요구조건 살펴보기) 사용자가 검색어를 입력하면, 컨트롤러가 그것을 전달받습니다. 전달받은 검색어로 네이버 API에 요청하고, 그 결과를 사용자에게 응답합니다. NaverShopSearch를 컴포넌트로 등록을 해야 함 컴포넌트 등록: 스프링한테 필요할 때 알아서 쓰라는 권한을 주는 것 final 변수 선언 & @RequiredArgsConstructor 어노테이션 등록 스프링이 권한 판단을 요구할 때가 있음(자동으로 생성할 수 있는건지 아닌지) 사용자가 요구하면 자동으로 생성 가능한 클래스 목록이 있어야 스프링이 자동으로 필요한 클래스를 필요한 곳에 생성한다 - 컴포넌트 : 사용자가 요구하면 자동으로 생성 가능한 클래스 목록 - NaverShopSearch 컴포넌트 등록 이전에 만들어 둔 NaverShop..

Spring Framework 2021.07.28

JSONObject, JSONArray

https://androman.tistory.com/38 [Java] JsonObject , JsonArray 다루기 (JsonParser로 파싱하기) 데이터를 주고 받을 때 json형식을 많이 사용하는 JsonObject, JsonArray 사용법을 알아보겠습니다. 1. JsonObject JsonObject는 객체(주로 String)을 Json객체로 바꿔주거나 Json객체를 새로 만드는 역할을 합니.. androman.tistory.com 1. JSONObject 객체(주로 String)을 JSON으로 바꿔주거나 JSON 객체를 새로 만드는 역할 org.json public class JSONObject extends Object [JSON 직접 생성] JSONObject jsonObject = ne..

Spring Framework 2021.07.27

나만의셀렉샵)키워드로 상품 검색하기 - NaverShopSearch 발전시키기

* 이전에 만들어 둔 NaverShopSearch 클래스를 웹서비스에 이용할 수 있도록 수정 - 만들어 둔 NaverShopSearch package com.sparta.week04.utils; ... public class NaverShopSearch { //Java에서 url에 한글로 입력을 해도 인코딩을 알아서 해줌 public String search() { RestTemplate rest = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); //네이버 API가 정의한대로 헤더를 넘겨줌 headers.add("X-Naver-Client-Id", "Fzj17ucnTdxEPXlsLH8O"); headers.add("X-Naver-Client-..

Spring Framework 2021.07.27

나만의셀렉샵) 관심 상품 등록하기

상품 검색 후 등록 버튼을 클릭했을 때 관심 상품이 생성되어야 함 -> 검색 결과에서 제목, 이미지, 링크, 최저가를 가져오면 됨 1st) 제목, 이미지, 링크, 최저가 데이터 가져와서 관심상품 등록 2nd) 내가 원하는 최저가 입력해서 등록한 관심상품 데이터 수정 - Dto 만들기 /*ProductRequestDto.java*/ package com.sparta.week04.models; ... @Getter public class ProductRequestDto { private String title; private String link; private String image; private int lprice; } /*ProductMypriceRequestDto.java*/ package com...

Spring Framework 2021.07.26

나만의셀렉샵) 관심 상품 조회하기

/*Timestamped.java*/ package com.sparta.week04.models; ... @Getter // get 함수를 자동 생성합니다. @MappedSuperclass // 멤버 변수가 컬럼이 되도록 합니다. @EntityListeners(AuditingEntityListener.class) // 변경되었을 때 자동으로 기록합니다. public abstract class Timestamped { @CreatedDate // 최초 생성 시점 private LocalDateTime createdAt; @LastModifiedDate // 마지막 변경 시점 private LocalDateTime modifiedAt; } /*Week04Application.java*/ package com..

Spring Framework 2021.07.26

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

- 네이버 쇼핑 API 설명 문서 https://developers.naver.com/docs/search/shopping/ 검색 API 쇼핑 검색 개발가이드 NAVER Developers - 검색 API 쇼핑 검색 개발가이드 developers.naver.com 가이드에 써 있는 대로 url 복사 가이드대로 요청 시 보내줘야 할 데이터를 ARC에 입력해주기 header에 입력한 값은 가이드 링크에 들어가면 있는 "오픈 API 이용 신청"을 눌러서 하라는 대로 하면 얻을 수 있음. 쿼리스트링의 변수는 자신이 검색하고 싶은 것을 일단 영어로 입력하기(변수 query의 값은 한글이 인코딩되어있어야 함) 일단 비행기 버튼을 눌러 send 하면 이러한 결과값을 얻을 수 있음. CODE SNIPPETS -> JA..

Spring Framework 2021.07.25

타임라인서비스) 조회 시간으로부터 24시간 이내 작성한 게시물만 조회

타임라인 서비스가 불러오는 메모 목록의 시간을, 조회 시간으로부터 24시간 이내로 바꾸기 힌트1) spring jpa localtime between 라고 구글링해보세요. 힌트2) 지금은 LocalDateTime.now(), 하루 전은 LocalDateTime.now().minusDays(1) 입니다. - JPA between 사용법 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods Spring Data JPA - Reference Documentation Example 109. Using @Transactional at query methods @Transactional(readOnly = true)..

Spring Framework 2021.07.24