프로젝트18 도서관리 프로젝트[7] 책 생성 API개발하기 목표 요구사항 : 도서관에 책을 등록할 수 있다. 1. book테이블 생성 2. Book 객체 만들기 3. repository만들기 4. DTO만들기 5. service만들기 6. controller만들기 2023. 6. 25. 도서관리 프로젝트[5] IoC 제어의 역전, 인터페이스(interface), @Primary 제어의 역전(Inversion of Control) 스프링 컨테이너가 필요에 따라 개발자 대신 Bean들을 관리(제어)해주는 행위 일반적인 상황에서는 개발자가 직접 객체를 제어해야 했다. new 연산자를 통해 객체를 생성하고, 객체의 의존성을 맺어주고, 초기화를 해주고 등등... 하지만 Spring 에서는 xml파일 또는 어노테이션 방식으로 스프링 컨테이너에 Bean(객체)를 등록하기만 하면, 스프링 컨테이너에서 Bean의 생명주기(생성 -> 의존성 설정 -> 초기화 -> 소멸)를 전부 관리해준다. 즉, 객체에 대한 제어권이 컨테이너로 역전되기 때문에 제어의 역전이라고 하는 것이다. 장점 개발자는 객체 관리에 덜 신경쓸 수 있게 되어 다른 부분에 더 집중할 수 있게 됨 약한 결합(참고 링크)을 이용하여 .. 2023. 6. 22. 도서관리 프로젝트[4] Controller 3단 분리, 스프링컨테이너, 스프링빈, 인스턴스화 Controller 3단분리 클린 코딩을 위해 Controller의 함수 1개가 하고 있던 역할을 3단 분리 하겠습니다. 1. API의 진입 지점으로써 HPPT Body객체로 변환하고 있다. -> Controller 2. 현재 유저가 있는지 없는지 등 확인하고 예외 처리 해준다 -> Service 3. SQL을 사용해 실제 DB와의 통신 담당한다 -> Repository UserController package com.group.libraryapp.controller.user; import com.group.libraryapp.dto.user.request.UserCreateRequest; import com.group.libraryapp.dto.user.request.UserUpdateRequest; .. 2023. 6. 21. 도서관리 프로젝트[3] 회원 수정, 삭제 (update, delete) 수정API 삭제API 1.UserController //수정, 삭제 //json이 들어온걸 객체로 바꾸기 위해서 dto를 만든다. UserUpdateRequest라는 dto @PutMapping("/user") public void updateUser(@RequestBody UserUpdateRequest request) { String sql = "UPDATE user SET name = ? WHERE id = ?"; //특정 id를 가진 유저가 특정 이름으로 변경되어야함. jdbcTemplate.update(sql, request.getName(), request.getId()); } @DeleteMapping("/user") //쿼리가 하나라서 RequestParam사용함 public void de.. 2023. 6. 15. 도서관리 프로젝트[2] - 유저 조회 유저조회 API스펙 * 주의점 - 전체를 조회하기 때문에 쿼리는 없습니다. - @RestController가 있기 때문에, Controller에서 Getter가 있는 객체를 반환하면 JSON 형태가 됩니다. - id는 각 데이터끼리 겹치지 않는 유일한 고유번호를 의미합니다. -> List에 담겨 있는 유저의 순서를 id로 해주면 됩니다~! 쉬어가기 Controller에서 Getter가 있는 객체를 반환하면 JSON 형태가 된다는 것을 증명해보겠습니다. 1. UserController (JSON반환 예시) @GetMapping("/fruit") public Fruit fruit(){ return new Fruit("바나나", 2000); } 2. Fruit (JSON반환 예시) package com.gro.. 2023. 5. 28. 도서관리 프로젝트[1] - 기획과 유저 등록 기획 사용자 - 도서관의 사용자를 등록할 수 있다. (이름 필수, 나이 선택) - 도서관 사용자의 목록을 볼 수 있다. - 도서관 사용자 이름을 업데이트 할 수 있다. - 도서관 사용자 이름을 업데이트 할 수 있다. - 도서관 사용자를 삭제할 수 있다. 책 - 도서관에 책을 등록 및 삭제할 수 있다. - 사용자가 책을 빌릴 수 있다. > 다른 사람이 그 책을 진작 빌렸다면 빌릴 수 없다. - 사용자가 책을 반납할 수 있다. 유저 등록 API 스펙 이제 UserController와 요청을 받을 dto인 UserCreateRequest, 값을 저장할 User클래스를 만들겠습니다. 1. UserController : API 입구 2. UserCreateRequest : 요청 받을 dto 3. User : 값을.. 2023. 5. 28. 이전 1 2 3 다음