Spring 34

나만의셀렉샵)키워드로 상품 검색하기 - 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

타임라인서비스) Controller 만들기

/*MemoController.java*/ package com.sparta.week03.domain; ... @RestController @RequiredArgsConstructor public class MemoController { private final MemoRepository memoRepository; private final MemoService memoService; @PostMapping("/api/memos") //@RequestBody를 꼭 넣어줘야 함!!// //POST방식으로 Request할 때 JSON 데이터를 받아올 수 없음 public Memo createMemo(@RequestBody MemoRequestDto requestDto) { Memo memo = new Mem..

Spring Framework 2021.07.21

타임라인서비스) Service 만들기

/*MemoService.java*/ package com.sparta.week03.service; import com.sparta.week03.domain.Memo; import com.sparta.week03.domain.MemoRepository; import com.sparta.week03.domain.MemoRequestDto; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import javax.transaction.Transactional; @Service //서비스단인 것을 스프링에게 알려줘야함 @RequiredArgsConstructor public class MemoService ..

Spring Framework 2021.07.21

타임라인서비스) Repository 만들기

/*Memo.java*/ package com.sparta.week03.domain; ... @NoArgsConstructor // 기본생성자를 만듭니다. @Getter @Entity // 테이블과 연계됨을 스프링에게 알려줍니다. public class Memo extends Timestamped { // 생성,수정 시간을 자동으로 만들어줍니다. @GeneratedValue(strategy = GenerationType.AUTO) @Id private Long id; //아이디 @Column(nullable = false) private String username; //사용자이름 @Column(nullable = false) private String contents; //내용 public Memo(S..

Spring Framework 2021.07.21

API - POST, PUT, DELETE

- POST , PUT, DELETE 데이터 생성, 수정, 삭제 API 만들어보기 /*CourseController.java*/ package com.sparta.week02.controller; ... @RequiredArgsConstructor //Repository를 대신해서 넣어주는 역할 @RestController //JSON으로 응답 public class CourseController { private final CourseRepository courseRepository; private final CourseService courseService; //Spring은 요청을 주고 받는 방식을 강제하는 프레임워크다..!!// // PostMapping을 통해서, 같은 주소라도 방식이 다름을 구..

Spring Framework 2021.07.21

API-GET

- API 클라이언트와 서버 간의 약속 클라이언트가 정한 대로 서버에게 요청 Request를 보내면 서버가 요구사항을 처리하여 응답 Response를 반환함 - REST 주소에 명사 & 요청 방식에 동사를 사용함으로써 의도를 명확히 드러냄 생성(POST)/ 조회(GET)/ 수정(PUT)/ 삭제(DELETE) 요청 방식 주소 뜻 POST localhost:8080/courses 강의 생성 요청 GET localhost:8080/courses 강의 전체 목록 조회 요청 GET localhost:8080/courses/1 ID가 1번인 데이터 조회 요청 PUT localhost:8080/courses/3 ID가 3번인 데이터 수정 요청 DELETE localhost:8080/courses/2 ID가 2번인 데..

Spring Framework 2021.07.18