-
패스트캠퍼스 챌린지 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를 사용했다.
요청이 성공적으로 전송되었고 그에 따른 응답이 온 것을 확인할 수 있다.
본 포스팅은 패스트 캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
https://bit.ly/3FVdhDa'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