Skip to content

Commit

Permalink
Merge pull request #57 from kea-dpang/develop
Browse files Browse the repository at this point in the history
Feat: 상품 정보 조회 API 개발
  • Loading branch information
namsh1125 authored Feb 5, 2024
2 parents 27e4a4c + 8ea60cb commit 97a9686
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 4 deletions.
16 changes: 14 additions & 2 deletions src/main/java/kea/dpang/item/controller/ItemController.java
Original file line number Diff line number Diff line change
Expand Up @@ -77,13 +77,25 @@ public ResponseEntity<SuccessResponse<List<ItemDto>>> getItemList(
);
}

@GetMapping("/{itemId}")
@Operation(summary = "상품 정보 조회", description = "상품 ID를 통해 상품 정보를 조회합니다.")
public ResponseEntity<SuccessResponse<ItemDto>> getItemInfo(
@PathVariable @Parameter(description = "상품ID", example = "1") Long itemId
) {
ItemDto item = itemService.getItemInfo(itemId);

return new ResponseEntity<>(
new SuccessResponse<>(HttpStatus.OK.value(), "상품 정보가 조회되었습니다.", item),
HttpStatus.OK
);
}

@GetMapping("/{itemId}/detail")
@Operation(summary = "상품 상세 정보 조회", description = "상품 ID를 통해 상세한 상품 정보를 조회합니다.")
public ResponseEntity<SuccessResponse<ItemDetailDto>> getItem(
public ResponseEntity<SuccessResponse<ItemDetailDto>> getItemDetailInfo(
@PathVariable @Parameter(description = "상품ID", example = "1") Long itemId
) {
ItemDetailDto item = itemService.getItem(itemId);
ItemDetailDto item = itemService.getItemDetailInfo(itemId);

return new ResponseEntity<>(
new SuccessResponse<>(HttpStatus.OK.value(), "상품 상세 정보가 조회되었습니다.", item),
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/kea/dpang/item/service/ItemService.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,15 @@ public interface ItemService {
*/
void createItem(CreateItemRequestDto dto);

ItemDto getItemInfo(Long itemId);

/**
* 주어진 ID에 해당하는 상품의 정보를 조회합니다.
*
* @param itemId 조회할 상품의 ID
* @return 조회된 상품의 상세 정보가 담긴 Detail DTO
*/
ItemDetailDto getItem(Long itemId);
ItemDetailDto getItemDetailInfo(Long itemId);

List<ItemDto> getItemList(List<Long> itemIds);

Expand Down
15 changes: 14 additions & 1 deletion src/main/java/kea/dpang/item/service/ItemServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,23 @@ public List<ItemDto> getItemList(List<Long> itemIds) {
.toList();
}

@Override
@Transactional(readOnly = true)
public ItemDto getItemInfo(Long itemId) {
log.info("item ID로부터 아이템 조회를 시작합니다 : {}", itemId);

Item item = itemRepository.findById(itemId)
.orElseThrow(() -> new ItemNotFoundException(itemId));

log.info("아이템 조회가 성공적으로 완료되었습니다. 조회된 아이템의 ID는 : {}", item.getId());

return new ItemDto(item);
}

// 상품 상세 정보 조회
@Override
@Transactional(readOnly = true)
public ItemDetailDto getItem(Long itemId) {
public ItemDetailDto getItemDetailInfo(Long itemId) {
log.info("item ID로부터 아이템 조회를 시작합니다 : {}", itemId);

Item item = itemRepository.findById(itemId)
Expand Down

0 comments on commit 97a9686

Please sign in to comment.