(0730) 라이징캠프 4주차 내용 정리

sua·2022년 9월 2일

Rising Camp 8기 Server

목록 보기
8/9
post-thumbnail

Restful API

[Method - 동사의 의미]
1. Get

  • 어떤 data 조회 : 쿼리 스트링
  1. POST
  • DB data가 들어올때
  1. PATCH
  • 일부수정

[Uri - 행위의 목적(명사의 의미)]
1. 쿼리스트링 : 필터링(데이터를 다 부르고 여기서 걸러주는역할), paging

  • ex) 넷플릭스 시즌선택은 쿼리스트링(화면은 똑같고 데이터만 시즌별로 다른것이기때문에)
  1. path variable : 정보(데이터) 한정
  • ex) 게시글 1개로 고정, userIdx 1번유저가 좋아요한게시글

uri에는 언더바 넣지 않음
복수형 (comments, reviews 등)
/ / 이 칸이 4칸 넘어가면 안됨

ex) 성별이 남자인 유저 조회 API : method) get, uri : /users?gender=male


validation : 유효성 검사 (데이터가 알맞게 들어오는지 검사)

  • 형식적 유효성 검사 : 이메일 형식, 닉네임 100자 이상 안되게 등
  • 논리적 유효성 검사 : 어떤 유저에게 메시지 보내려고 할 때, 비활성화 돼있는 경우. 휴대전화번호를 입력했는데 알맞은 형식으로 데이터를 전달했음에도 불구하고 이미 가입한 유저입니다 오류가 뜸 → DB를 한번 거쳤다가 나와서 검사 가능한 경우

Validation 이유 : 우리의 서버 지키기 위함(주소를 입력하는데 해커가 무한대의 문자열을 넣음 → 데이터베이스 마비), 서비스를 위해서

템플릿

Route : URI와 Controller 코드랑 매핑해줌
Controller : 형식적 validation 처리
Provider : 핵심 비즈니스 로직, 논리적 validation 검사 및 처리, GET 메소드 처리
Service : POST, PATCH, DELETE, PUT 메소드 처리
Dao : 쿼리를 실행해줌 → 테이블과 Dao는 1대1로 매칭됨

스프링은 Route와 Controller가 합쳐져있음

profile
가보자고

0개의 댓글