이번에 시작할 토이 프로젝트는 좀더 RESTful 방식으로 만들어보고 싶어서 rest api를 공부하기로 했다. 사실 이전부터 공부는 시작했지만 지금 포스팅을 한다!
우선 REST API가 무엇인지 알아보았다.
Representational State Transfer 의 약자로, 자원을 이름으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다.
REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다.
REST는 네트워크 상에서 Client와 Server 사이틔 통신 방식 중 하나이다.
CRUD Operation
- Create : 생성(POST)
- Read : 조회(GET)
- Update : 수정(PUT)
- Delete : 삭제(DELETE)
- HEAD : header 정보 조회(HEAD)
처음에는 개념을 읽어봐도 "그래서 이걸 어떻게 사용해야 한다는 거지..?" 싶었는데, 유튜브에서 '코딩의 신' 채널의 <Spring Boot으로 웹 출시까지> 라는 강의를 보며 RESTful API를 이용한 study용 프로젝트를 만들어보니 REST API에 대한 개념을 익힐 수 있었다.
<Spring Boot으로 웹 출시까지>를 노션에 따로 정리하면서 7강쯤 듣다가 jpa 메소드 명명 규칙이 궁금해졌다. 보니까 어떤 규칙이 존재하는 것 같은데 따로 설명이 없어서 직접 찾아봤다.
And 조건
: findByIdAndName(int id, String name)으로 And를 사용하여 검색한다.
OR 조건
: findByIdOrName(int id, String name)으로 Or을 사용하여 검색한다.
findByNameLike
: like를 붙이면 인수에 지정된 텍스트를 포함하는 Entity를 검색한다. 여기서는 name에서 인수의 텍스트를 검색한다.
findByNameStartingWith("Lee")
: 이름이 "Lee"로 시작하는 이름을 검색한다.
findByNameEndingWith("seul")
: 이름이 "seul"로 끝나는 이름을 검색한다.
findByNameIsNull()
: name 중에 null인 것들을 검색한다.
findByUseYnTrue()
: useYn이 true인 것들을 검색해준다.
findByCreatedDateBefore(new Date())
: 시간 기준으로 값을 검색한다. Before은 이전 것을, After은 이후 것을 검색해준다.
findByCntBetween(1,10)
: cnt가 1~10 사이에 있는 값을 검색해준다.
findByAddressOrderByCnt(String address)
: cnt 순서대로 주소를 검색해준다.
countBy : sql의 count와 같은 기능이다.
참고 출처 : https://zara49.tistory.com/130