728x90
반응형
1. (14강) 유저 업데이트 API, 삭제 API 업데이트
- 도서관 사용자 이름을 업데이트 할 수 있다.
- HTTP Method: PUT
- HTTP Path: /user
- HTTP Body(JSON)
- 결과반환 X
- 도서관 사용자 이름을 삭제할 수 있다.
- HTTP Method: DELETE
- HTTP Method: /user
- 쿼리 사용
- 문자열 name(삭제되어야 하는 사용자 이름)
- 결과 반환 X
- 문제 상황 →CREATE / DELETE / UPDATE에 문제가 존재함!!
- 없는 유저를 업데이트 하거나 삭제해도 200OK 응답! (강의)
- [ERROR] 사용자 등록할 때 이름은 필수로 존재해야하는데 이름이 없어도 저장이 된다. user table을 만들 때 not null로 부가조건을 걸었는데도 등록이 되는 것을 보면 프론트에서 이름이 들어오지 않는 경우 공백처리해서 테이블에 저장하는 것 같다. (내가 찾은 문제)
2. (15강) 유저 업데이트 API, 삭제 API 예외처리 하기
- API에서 예외 상황이 발생한다면 어떻게 될까?
- 200OK 대신 500 Internal Server Error가 발생하게 된다.
- 즉, 서버에서 문제가 발생하면 500 Internal Server Error가 발생하게 된다.
- 유저 업데이트 API 예외처리 하기
- readSql: id를 기준으로 유저가 존재하는지 확인하는 select 쿼리 작성
- jdbcTemplate.query(readSql, (rs, rowNum) -> 0, request.getId()
- request.getId() 를 통해서 id를 얻고 readSql의 id = ?에 집어 넣는다.
- 만약 select SQL의 결과가 존재한다면 (rs, rowNum) 0으로 반환된다.
- query는 반환된 값들을 List로 값싸줘서 최종적으로는 List가 반환된다.
- jdbcTemplate.query의 결과인 List가 비어있다면 유저가 없으므로 업데이트 해선 안된다.
- 유저 삭제 API 예외처리하기
- 유저 업데이트와 거의 유사하고 where 부분에서 id > name 으로 변했다.
- [ERROR] 한국이름은 delete하려고 하니까 서버에러가 난다. 그 이유는 무엇일까?
3. (16강) Section2 정리 및 문제 상황
- 디스크와 메모리의 차이를 이해하고, DB의 필요성을 이해한다.
- SQL을 이용해 MySQL을 조작할 수 있다.
- 스프링 서버를 이용해 DB에 접근하고 데이터를 저장, 조회, 업데이트, 삭제할 수 있다.
- 문제상황: Controller에서 너무 많은 역할을 하고 있다.
- 다음 section
- 왜 한 함수에서 모든 기능을 구현하면 안되는지
- 이 문제를 스프링을 이용해 어떻게 해결할 수 있을자
※ 누적과제
- [ASSIGNMENT] 커스텀 어노테이션 만들고 정리하기 (1일차 과제)
- [ASSIGNMENT] LocalDate 정리하기 (2일차 과제)
- [ERROR] NumberRequest에서 기본 생성자를 추가하지 않으면 에러가 발생하는 이유는 무엇인가?(2일차 과제)
- [ERROR] 사용자 등록할 때 이름은 필수로 존재해야하는데 이름이 없어도 저장이 되는 문제가 발생했다. 왜 이 문제가 발생했는지 알아보고 해결할 수 있는 방법을 찾아보기(4일차 강의, 내가 찾은 문제)
- [ERROR] 한국이름은 delete하려고 하니까 서버에러가 난다. 그 이유는 무엇일까? (4일차 강의)
※ 강의 출처
728x90
반응형
'스터디 > 인프런' 카테고리의 다른 글
[인프런 워밍업 스터디 클럽 0기- BE] 4일차 과제 (0) | 2024.03.11 |
---|---|
[인프런 워밍업 스터디 클럽 0기- BE] 2일차 과제 (0) | 2024.02.20 |
[인프런 워밍업 스터디 클럽 0기- BE] 3일차 강의 내용 정리(Section2) (0) | 2024.02.20 |
[인프런 워밍업 스터디 클럽 0기- BE] 2일차 강의 내용 정리 (0) | 2024.02.20 |
[인프런 워밍업 스터디 클럽 0기- BE] 1일차 과제 (0) | 2024.02.19 |