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단계) #427

Open
wants to merge 143 commits into
base: nove1080
Choose a base branch
from

Conversation

nove1080
Copy link

@nove1080 nove1080 commented Jul 29, 2024

API 문서 위치

API 명세서는 resources/static/docs.html 에 모두 기록되어 있습니다!

과제를 진행하며 어려웠던 점

1. 쿼리파라미터만 추가된 엔드포인트 대해 테스트가 수행되지 않습니다

@RestController
@RequestMapping("/api/products")
public class ProductApiController {

    @GetMapping
    public ResponseEntity<ReadAllProductsResponse> readAllProducts(@PageableDefault Pageable pageable) {
        ReadAllProductsResponse response = productService.readAllProducts(pageable);
        return ResponseEntity.ok(response);
    }
    
    @GetMapping(params = "categoryId")
    public ResponseEntity<ReadAllProductsResponse> readAllProductsByCategoryId(@PageableDefault Pageable pageable, @RequestParam Long categoryId) {
        ReadAllProductsResponse response = productService.readAllProductsByCategoryId(categoryId, pageable);
        return ResponseEntity.ok(response);
    }
    
}

categoryId 를 쿼리파라미터로 받는 엔드포인트(readAllProductsByCategoryId)에 대해서 요청을 보내면 readAllProducts 여기로 요청이 나가는 것 같습니다. 무슨 문제인지 잘 모르겠습니다 이 문제를 스스로 해결하지 못해서 아직 /api/products?categoryId 명세를 작성하지 못하였습니다. (ProductApiControllerTest에 주석 처리하였습니다) 스스로 해결하지 못할 것 같아 이 문제에 대해 멘토님의 조언을 듣고 싶습니다.

궁금한 점

1. 어노테이션을 붙이는 순서도 나름의 기준이 있나요?

@ActiveProfiles("test")
@SpringBootTest
@Import(RestDocsConfiguration.class)
@ExtendWith(RestDocumentationExtension.class)
class MemberApiControllerTest {}

위와 같이 여러 어노테이션이 붙게 되는 경우 어노테이션을 붙이는 순서(어떤 어노테이션이 더 위에 있고 밑에 있는지)도 나름의 기준이 있나요? 멘토님의 생각이 궁금합니다

2. 컨트롤러 테스트 코드에 대한 피드백을 받고 싶습니다

Mockito를 사용한 테스트를 하는게 익숙하지 않아 개선할 부분을 알려주시면 많은 도움이 될 것 같습니다!

3. 실무에서는 어떻게 API 명세서를 관리하나요?



동건님 덕분에 몰랐던 부분도 많이 알게되고 재밌게 공부하고 있습니다 항상 감사합니다!!!

nove1080 added 30 commits July 25, 2024 17:56
- /api/login/oauth2/kakao 추가
- LoginRequest.java
- Password.java
- schema.sql
- @ConfigurationPropertiesScan
- @EnableFeignClients
- Member의 password 필드 삭제로 인한 테스트 코드 수정이 필요함
nove1080 added 30 commits July 31, 2024 00:55
# Conflicts:
#	src/main/resources/static/category.html
#	src/main/resources/static/docs.html
#	src/main/resources/static/login.html
#	src/main/resources/static/member.html
#	src/main/resources/static/product.html
#	src/test/java/gift/web/controller/api/ProductApiControllerTest.java
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.

1 participant