[인프런 워밍업 클럽 1기 BE] 첫 번째 발자국

[인프런 워밍업 클럽 1기 BE] 첫 번째 발자국

[강의 내용 정리]

Section 1. API 만들기

  • @RestController : 아래 클래스를 api의 진입 지점으로 설정

  • GET(@GetMapping(”/path”))

    • @RequestParam : 쿼리를 통해 넘어온 데이터를 파라미터로 줄 때 사용

      • 파라미터를 객체로 받을 수 있음(DTO) → 객체로 받으면 @RequestParam 안 씀

    • DTO에 생성자, getter 생성

    • Controller에서 getter가 있는 객체를 반환하면 json이 됨

  • POST(@PostMapping(”/path”))

    • Body로 데이터를 받을 때, JSON 사용

    • @RequestBody : http body의 json을 파싱해서 객체(dto)로 만들 때 사용

    • DTO에 getter 생성

Section 2. Database 조작하기

  • CRUD API를 만든다 == 어떤 대상에 대해 생성, 조회, 업데이트, 제거 API를 만든다

  • JDBC와 연결

    private final JdbcTemplate jdbcTemplate;
        public UserController(JdbcTemplate jdbcTemplate) {
            this.jdbcTemplate = jdbcTemplate;
        }
    
  • jdbcTemplate.query(sql, RowMapper 구현 익명클래스)

    ⇒ Lamda로 더 간결하게 변경 가능

  • jdbcTemplate.update()

    ⇒ 여기서 update : sql의 UPDATE와 달리, 내용이 수정될 때 사용(INSERT, UPDATE, DELETE)

Section 3. 역할의 분리와 스프링 컨테이너

  • Controller 3단 분리(Layered Architecture)

    1. Controller : API의 진입 지점. 즉, HTTP 관련 부분 처리(”path”) (HTTP Body를 객체로 변환)

    2. Service : 예외 처리 (유저가 있는지 없는지 확인)

    3. Repository : DB와의 통신 (SQL)


[과제 정리]

[과제 1] 어노테이션

[과제 2] GET, POST API

[과제 3] 람다식


[회고]

스터디 참가 전, 강의를 모두 수강하긴 했지만 내 지식으로 만들지 못한 부분이 많았다. 강의를 다시 수강하며 부족한 부분을 채우고자 스터디에 참여하게 되었다.

일정표에 따라 강의를 재수강하고 과제를 수행하면서 내가 부족한 부분이 어느 부분인지 확실하게 알 수 있었다. 특히, 자바에 대한 학습이 더 많이 필요함을 느꼈다.

2주차에는 강의 수강과 과제 수행을 좀 더 성실히 수행하고자 한다!

댓글을 작성해보세요.