박정인 API 구축 코드#4
Conversation
| .name(item.getName()) | ||
| .count(item.getCount()) | ||
| .build()) | ||
| .collect(Collectors.toList()); // itemRepository를 통해 모든 item을 찾아서 반환 |
There was a problem hiding this comment.
.collect(Collectors.toList()); -> .toList()
자바 17 버전부터는 위 방법을 추천합니다!
| class HellospringApplicationTests { | ||
|
|
||
| @Test | ||
| void contextLoads() { |
| } | ||
|
|
||
| // 애플리케이션 시작 시 테스트 데이터를 추가합니다. | ||
| static { |
| private String name; | ||
| private Long count; | ||
|
|
||
| @Builder |
coke98
left a comment
There was a problem hiding this comment.
LGTM! 계층과 클래스를 잘 나누어 작성해주셨네요! 고생하셨습니다 :)
|
|
||
| @PostMapping("items") | ||
| public void save(@RequestBody ItemDto itemDto) { //item의 종류와 개수를 등록 | ||
| itemService.saveItem(itemDto); |
There was a problem hiding this comment.
서비스 계층을 분리해서 구현해주셨네요~! 메서드들이 잘 읽혀서 가독성이 좋습니다👍
| } | ||
|
|
||
| @PatchMapping("items/{id}") | ||
| public void updateItemById(@PathVariable Long id, @RequestBody ItemDto itemDto) { //id번호에 해당하는 item의 종류나 개수를 수정 |
There was a problem hiding this comment.
수정과 관련하여 어떤 분들은 put으로, 어떤 분들은 patch를 사용하시는 경우도 있었는데요. 둘은 실제 각각 어떤 경우에서 사용될 수 있을까요? 그렇다면 현재의 경우 put이 맞을까요? patch가 맞을까요? 둘간의 차이, 멱등성에 대한 설명과 함께 노션 링크로 답변 남겨주시면 감사하겠습니다~!
| private Long count; // 물건의 개수(재고) | ||
|
|
||
| //Item 객체를 생성 | ||
| @Builder |
There was a problem hiding this comment.
롬복 사용하셨네용~ 잘쓰면 가독성에도 좋지만, 나중에 혹시 무분별하게 사용된다면 고려해야할 점도 몇몇 생기긴합니다. setter뿐아니라 getter조차도 두지 말라는... 객체지향적 사고를 고민해보게된다면 롬복보다는 직접 게터를 쓰는게 마음 편할때가 생기긴하더라구요
[참고글 - getter 쓰지 말라고만 하고 가버리면 어떡해요]
https://velog.io/@backfox/getter-%EC%93%B0%EC%A7%80-%EB%A7%90%EB%9D%BC%EA%B3%A0%EB%A7%8C-%ED%95%98%EA%B3%A0-%EA%B0%80%EB%B2%84%EB%A6%AC%EB%A9%B4-%EC%96%B4%EB%96%A1%ED%95%B4%EC%9A%94
|
|
||
| @Data | ||
| @NoArgsConstructor | ||
| public class ItemDto { //데이터(정보)를 주고 받을 때 사용 |
|
|
||
| import java.util.List; | ||
|
|
||
| public interface ItemRepository { |
HelloController를 통해 홈페이지에 입력 내용이 출력이 잘 되는지 확인했습니다.
ItemController를 통해 상품의 이름과 개수를 입력하고, 목록 조회 및 수정, 삭제 등이 가능하도록 했습니다.