Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

전남대 BE_유보민 5주차 과제 (3단계) #379

Open
wants to merge 47 commits into
base: rbm0524
Choose a base branch
from

Conversation

rbm0524
Copy link

@rbm0524 rbm0524 commented Jul 28, 2024

Swagger를 통해 api 문서를 만들어보았습니다! 피드백 해주시면 감사하겠습니다.

rbm0524 added 30 commits July 23, 2024 23:10
Copy link

@gunom gunom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

안녕하세요 보민님! 3단계 수고하셨습니다! 스웨거는 편리하게 api문서를 짤 수 있죠. Request에 관련된 클래스의 필드에도 설명을 추가하면 협업 때 더 도움이 되니 참고하시면 좋을 거 같아요. 또, RestTemplate을 사용하시면서 객체지향적으로 코드를 짜는 부분이 살짝 흐트러진거 같아요! 이 부분에 대해 리뷰 남겼으니 반영하시면 좋을 것 같습니다

headers.add("Authorization", "Bearer " + token);
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);

TextObject textObject = new TextObject(
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기부터 78번째 코드까지를 추상화시킬 수 있을 거 같아요. TextObject가 messageString을 반환하는 메소드를 가지고 있으면 더 쉽게 사용할 수 있을 거 같네요?

ObjectMapper objectMapper = new ObjectMapper();
String jsonTextObject = objectMapper.writeValueAsString(textObject);

MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Map사용이 번거롭다면 별도의 요청 클래스를 만들어 ResponseBody 클래스를 사용하면 좋습니다 :)

for (OrderRequestDto orderRequestDto : orderRequestDtoList) {
Product product = productJpaRepository.findById(orderRequestDto.getProductId()).orElseThrow();
Option option = optionJpaRepository.findById(orderRequestDto.getOptionId()).orElseThrow();
message.append("상품 이름 : ")
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

상품 메시지를 하나의 도메인으로 만들면 좋을 거 같아요. product의 이름, option의 이름, 수량을 필드로 가지고 String으로 변환하는 메소드를 가지는 클래스면 훨씬 객체지향적일 거 같네요 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants