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

✨ implement recipe steps retrieval #83

Merged
merged 5 commits into from
Jul 25, 2024
Merged

✨ implement recipe steps retrieval #83

merged 5 commits into from
Jul 25, 2024

Conversation

oshyun00
Copy link

구현 API

/api/recipes/{id}/steps

수정 API

/api/recipes

참고사항

  • 레시피 Id를 통한 레시피 검색이 추가될 것을 고려해서, 스텝 조회 엔드포인트를 특정 레시피의 steps를 가져온다는 흐름으로 설정했습니다.
  • 메인페이지에서 레시피 목록 조회시 페이지 정보를 body로 받던 것을 RequestParam으로 받아오도록 수정했습니다.
    (이 부분은 별도 이슈로 관리되어야 했던 것 같은데 리팩토링 하다보니 같이 작업하게 됐습니다. 다음번에는 분리하겠습니다!)

@oshyun00 oshyun00 added ✨ feature new feature BE Backend labels Jul 24, 2024
@oshyun00 oshyun00 requested review from HaiSeong and tackyu July 24, 2024 07:55
@oshyun00 oshyun00 linked an issue Jul 24, 2024 that may be closed by this pull request
return recipeService.readRecipes(request);
public List<MainRecipeResponse> readRecipes(@RequestParam int pageNumber, @RequestParam int pageSize) {
return recipeService.readRecipes(pageNumber, pageSize);
}

Choose a reason for hiding this comment

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

혹시 MainRecipeRequest를 살리고 싶으시면

@ModelAttribute 를 고려해봐도 좋을것 같아요!

Copy link
Author

Choose a reason for hiding this comment

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

@ModelAttribute를 사용하면 param을 모두 기재할 필요없이 하나의 객체처럼 받아올 수도 있네요 👍🏻
상황에 따라 적용하는것도 고려해봐야겠어요.


private int sequence;

public long recipeId() {

Choose a reason for hiding this comment

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

getRecipeId() 는 RecipeStep의 다른 필드의 getter와 구분하기 위한 네이밍 인가요?

Copy link
Author

Choose a reason for hiding this comment

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

RecipeStepRepository에서 RecipeId로 조회하는 메서드를 작성하기 위해 사용되는 메서드입니다.

recipeId를 가져오는 메서드가 없으면 Repository에서 findAllByRecipeId()로 검색했을 때 에러가 발생했습니다. 에러를 해결하려면 메서드 명에 findAllByRecipe_Id() 와 같이 실제 매핑되는 컬럼명을 적어주어야했어요.
getRecipeId()처럼 일반 getter와 같은 형태로 메서드 명을 작성해도 동작하지 않아서 recipeId()를 명시적으로 표시해두었습니다.

Choose a reason for hiding this comment

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

좋네요! 레벨2에서 slot_startAt 이런식으로 쓴적있는데 그때 알려주시지.. 왜 지금 알려주시죠

Copy link

Overall Project 88.63% -1.68% 🍏
Files changed 80% 🍏

File Coverage
RecipeStepResponse.java 100% 🍏
RecipeService.java 100% 🍏
RecipeController.java 100% 🍏
Recipe.java 61.11% 🍏
RecipeStep.java 48.78% -51.22% 🍏

Copy link

@tackyu tackyu left a comment

Choose a reason for hiding this comment

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

JPA 쿼리메서드 네이밍에 대한 논의가 있으면 좋을 것 같아요
고생하셨습니다!

@oshyun00 oshyun00 merged commit cae26c3 into be/dev Jul 25, 2024
1 check passed
@oshyun00 oshyun00 deleted the be/feat/19 branch July 25, 2024 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE Backend ✨ feature new feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ 레시피 상세 과정 정보 조회
3 participants