[인프런 워밍업 클럽 1기 BE] 첫 번째 발자국
[강의 내용 정리]
Section 1. API 만들기
@RestController
: 아래 클래스를 api의 진입 지점으로 설정GET(@GetMapping(”/path”))
@RequestParam
:쿼리
를 통해 넘어온 데이터를 파라미터로 줄 때 사용파라미터를 객체로 받을 수 있음(DTO) → 객체로 받으면 @RequestParam 안 씀
DTO에
생성자
,getter
생성Controller에서 getter가 있는 객체를 반환하면
json
이 됨
POST(@PostMapping(”/path”))
Body로 데이터를 받을 때,
JSON
사용@RequestBody
: httpbody
의 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)
Controller
: API의 진입 지점. 즉, HTTP 관련 부분 처리(”path”) (HTTP Body를 객체로 변환)Service
: 예외 처리 (유저가 있는지 없는지 확인)Repository
: DB와의 통신 (SQL)
[과제 정리]
[회고]
스터디 참가 전, 강의를 모두 수강하긴 했지만 내 지식으로 만들지 못한 부분이 많았다. 강의를 다시 수강하며 부족한 부분을 채우고자 스터디에 참여하게 되었다.
일정표에 따라 강의를 재수강하고 과제를 수행하면서 내가 부족한 부분이 어느 부분인지 확실하게 알 수 있었다. 특히, 자바에 대한 학습이 더 많이 필요함을 느꼈다.
2주차에는 강의 수강과 과제 수행을 좀 더 성실히 수행하고자 한다!
댓글을 작성해보세요.