[SW 직무역량 부트캠프] 5일차 06-30

WJ·2023년 6월 30일
post-thumbnail

2023-06-29 SW 직무역량 부트캠프 5일차 TIL

📙 이론

  • AOP(Aspect Oriented Programming, 관점 지향 프로그래밍)

    • 코드에서 핵심적인 로직과 부가 기능을 분리하여 모듈화 하는 것

    • 이렇게 공통적으로 필요한 부가기능들을 사용 ex) 에러 핸들링, 로깅, 성능 측정 등

    • OOP(Object Oriented Programming, 객체 지향 프로그래밍) 을 더욱 발전시키기 위한 개념

📙 실습

  • a. Member 도메인에 대한 CRUD 개발

    • 조건1. DB가 아닌 List 사용

    • 조건2. Grade enum 대신 String을 사용

    • Member -> Long id, String name, String grade

MemberController 코드는 다음과 같다

@RestController
@RequestMapping("/api")
public class MemberController {

    private final MemberService memberService;

    public MemberController(MemberService memberService) {
        this.memberService = memberService;
    }

    @PostMapping("/join")
    public ResponseEntity<String> join(@RequestBody Member member) {
        memberService.join(member);
        System.out.println("member.getId() = " + member.getId());
        return ResponseEntity.ok("가입 완료");
    }

    @GetMapping("/info/{id}")
    public ResponseEntity<Member> memberInfo(@PathVariable Long id) {
        Member member1 = memberService.findMember(id);
        System.out.println("member1 = " + member1);
        return ResponseEntity.ok(member1);
    }

    @PutMapping("/update/{id}")
    public ResponseEntity<String> update(@PathVariable Long id, @RequestBody Member member) {
        memberService.updateMember(id, member);
        return ResponseEntity.ok("수정 완료");
    }

    @DeleteMapping("/withdraw/{id}")
    public ResponseEntity<String> withdraw(@PathVariable Long id) {
        memberService.deleteMember(id);
        return ResponseEntity.ok("탈퇴 완료");
    }
}
  • b. Postman으로 동작 확인

    위 컨트롤러에 매핑된 주소로 api 테스트

    회원 가입 @PostMapping("/join")

회원 정보 조회 @GetMapping("/info/{id}")

회원 정보 수정 @PutMapping("/update/{id}")

수정 후 조회

회원 정보 삭제 @DeleteMapping("/withdraw/{id}")

  • c. bootJar로 빌드하고 수동 실행하여 정상적인 서비스 동작 확인

이하 위와 동일하게 Postman으로 테스트 진행 후 정상 동작 확인

  • d. Docker 이미지로 만들고 dockerhub 저장소에 0.0.2 버전으로 push
  • e. push한 0.0.2 버전을 pull하여 도커에 내려받고 컨테이너 방식으로 동작시킨 후 정상 서비스 동작 확인

이하 위와 동일하게 Postman으로 테스트 진행 후 정상 동작 확인

  • f. 개인 github에 커밋, 푸시

https://github.com/jw-jin/codestates_BE

profile
주니어 개발자

0개의 댓글