반응형
1. Timestamped 클래스 생성
- models 패키지를 만든다.
Timestamped.java
@Getter // get 함수를 자동 생성
@MappedSuperclass // 멤버 변수가 컬럼이 되도록 함
@EntityListeners(AuditingEntityListener.class) // 변경되었을 때 자동으로 기록
public abstract class Timestamped {
@CreatedDate // 최초 생성 시점
private LocalDateTime createdAt;
@LastModifiedDate // 마지막 변경 시점
private LocalDateTime modifiedAt;
}
Application
@EnableJpaAuditing // 시간 자동 변경이 가능하도록 함
@SpringBootApplication // 스프링 부트임을 선언.
public class Week04Application {
public static void main(String[] args) {
SpringApplication.run(Week04Application.class, args);
}
}
2. Product 클래스 생성
(1) 요구조건
- title
- image
- link
- lprice
- myprice
(2) Product 클래스
@Getter // get 함수를 일괄적으로 만들어줌.
@NoArgsConstructor // 기본 생성자를 만들어줌
@Entity // DB 테이블 역할을 함.
public class Product extends Timestamped{
// ID가 자동으로 생성 및 증가
@GeneratedValue(strategy = GenerationType.AUTO)
@Id
private Long id;
// 반드시 값을 가지도록 함.
@Column(nullable = false)
private String title;
@Column(nullable = false)
private String image;
@Column(nullable = false)
private String link;
@Column(nullable = false)
private int lprice;
@Column(nullable = false)
private int myprice;
}
3. Product Repository
public interface ProductRepository extends JpaRepository<Product, Long> {
}
4. ProductRestController
- 컨트롤러 패키지를 만든다.
@RequiredArgsConstructor // final로 선언된 멤버 변수를 자동으로 생성
@RestController // JSON으로 데이터를 주고받음을 선언
public class ProductRestController {
private final ProductRepository productRepository;
// 등록된 전체 상품 목록 조회
@GetMapping("/api/products")
public List<Product> getProducts() {
return productRepository.findAll();
}
}
5. ARC로 정상동작 확인
반응형
'스프링 (Spring) > SelectShop Project' 카테고리의 다른 글
SelectShop - 키워드로 상품 검색하기 1 (0) | 2021.08.03 |
---|---|
SelectShop - 관심상품 등록하기 (0) | 2021.08.02 |
SelectShop API 설계 (0) | 2021.08.02 |
네이버 쇼핑 API 사용 & Select Shop프로젝트 생성 (1) | 2021.07.31 |
네이버 API - 네이버쇼핑 API 이용신청하기 (0) | 2021.07.30 |
댓글