ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 패스트캠퍼스 챌린지 9일차
    JAVA/Spring 2021. 11. 9. 21:05

    1. 간단한 HTTP 테스트 만들기

    이제까지 구현했던 createDeveloper를 실제로 POST Request를 전송시켜 정상적으로 작동이 되는지 테스트해본다.

    먼저, createDeveloper에서 developer 빌드 시 들어가야하는 값들을 request로부터 받아올 수 있도록 수정한다.

     

    dmaker.service.DMakerService

    @Transactional
        public CreateDeveloper.Response createDeveloper(CreateDeveloper.Request request) {
            validateCreateDeveloperRequest(request);
    
            // developer 빌드 시 필요한 값들을 request로부터 받아오도록 수정해준다.
            Developer developer = Developer.builder()
                    .developerLevel(request.getDeveloperLevel())
                    .developerSkillType(request.getDeveloperSkillType())
                    .experienceYears(request.getExperienceYears())
                    .memberId(request.getMemberId())
                    .name(request.getName())
                    .age(request.getAge())
                    .build();
    
            developerRepository.save(developer);
    
            // Response에 있는 값들을 받아 return 해준다.
            return CreateDeveloper.Response.fromEntity(developer);
        }

     

    CreateDeveloper의 dto에서는 entity로부터 값을 받아 Response를 빌드해줄 수 있도록 fromEntity 메서드를 만들어준다.

     

    dmaker.dto.CreateDeveloper

    // developer entity를 하나 받아와서 developer entity에 담겨있는 값들을 
    // 하나하나 Response에서 Build 하는 도중에 담아서 return해준다.
            public static Response fromEntity(Developer developer) {
                return Response.builder()
                        .developerLevel(developer.getDeveloperLevel())
                        .developerSkillType(developer.getDeveloperSkillType())
                        .experienceYears(developer.getExperienceYears())
                        .memberId(developer.getMemberId())
                        .build();
            }

     

    DMakerController에서는 DMakerService를 통해 발생한 Response를 return해준다.

     

    dmaker.controller.DMakerController

    @PostMapping("/create-developer")
        public CreateDeveloper.Response createDeveleoper(
                @Valid @RequestBody CreateDeveloper.Request request
        ) {
            // GET /create-developer HTTP/1.1
            log.info("GET /create-developer HTTP/1.1");
    
            return dMakerService.createDeveloper(request);
        }

     

    여기까지 완료되면 이제 앱을 가동시키고 'create-developer'에 request-body를 포함시켜 POST 요청을 보낸다.

    참고로 IntelliJ Ultimate 버젼을 사용하는 것이 아니면 IntelliJ 자체적으로 HTTP Test를 하는 기능을 사용할 수 없기 때문에 필자는 Chrome 확장 프로그램의 Advanced REST Client를 사용했다.

     

    크롬 확장 프로그램인 Advanced REST Client를 통해 POST 요청을 보냈다.

    요청이 성공적으로 전송되었고 그에 따른 응답이 온 것을 확인할 수 있다.

     

     

    본 포스팅은 패스트 캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
    https://bit.ly/3FVdhDa

     

    수강료 100% 환급 챌린지 | 패스트캠퍼스

    딱 5일간 진행되는 환급챌린지로 수강료 100% 환급받으세요! 더 늦기전에 자기계발 막차 탑승!

    fastcampus.co.kr

    'JAVA > Spring' 카테고리의 다른 글

    패스트캠퍼스 챌린지 11일차  (0) 2021.11.11
    패스트캠퍼스 챌린지 10일차  (0) 2021.11.10
    패스트캠퍼스 챌린지 8일차  (0) 2021.11.08
    패스트캠퍼스 챌린지 7일차  (0) 2021.11.07
    패스트캠퍼스 챌린지 6일차  (0) 2021.11.06

    댓글

Designed by Tistory.