티스토리 뷰

728x90
반응형

요구사항을 만족하는 api 만들기

상품 조회 api에 추가 기능을 덧붙여 봅시다!

  1. 상품 등록 api 만들기
    • RequestBody로 상품의 이름과 가격을 입력 받아서 ProductRepository에 상품을 저장하는 api
    • (심화) 이미 동일한 이름의 상품이 있다면 저장 실패
      • 저장을 실패했다는 안내를 어떻게 해주면 좋을지 고민해봅시다.
      • 다양한 방법이 있을겁니다. 문자열로 “상품 등록에 실패했습니다” 등의 안내 문구를 리턴할 수도 있고, 실패했다는 메세지를 담은 객체를 만들어서 json으로 전달할 수도 있습니다. 혹은 Exception을 만들어서 throw할 수도 있습니다. 자유롭게 구현해보세요!
  2. 상품 상세 조회 api를 아래의 요구사항을 만족하도록 변경하기
    • 상품 이름으로 상세 조회하는 api
    • (심화) 가격을 원화와 달러를 구분해서 조회하는 api
      • 힌트
        • [GET] api/products?id=1&monetaryUnit=won
        • [GET] api/products?id=1&monetaryUnit=dollar
      • (상품 구분은 id가 아닌 name으로 해도 무관)
    • (심화) 없는 상품명으로 조회했을 때 조회 실패

기술스택

  • springboot
  • java11
  • lombok

모델

 기본적인 데이터 구조를 정하는것이다. 실제로 데이터를 받는 request객체, response객체, Header, Body 객체를 구성하는것 부터 시작한다.

Response

상품

 상품은 상품번호, 상품명, 가격으로 한다.

 가격은 원기준으로 저장한다.

public class Product {

    Long id; //  상품 번호
    String name; // 상품명
    long price; // 가격
}

결과

1. 모든 상품 조회

2. 상품번호 조회

2. 상품명으로 찾기

이름만 검색 할때

달러로 구분해서 조회

상품명이 없을때

3. 상품 등록하기

정상적으로 상품 등록할때

(심화)같은 이름으로 상품 등록할때

코드

전체 코드

 모그님 리뷰후 올릴예정이다.

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함