- 알고리즘
오늘부터 알고리즘 공부를 시작했다. 오랜만에 해서 쉽지 않았다. 역시 꾸준히 해야 도움이 되는 것 같다. 아직 1주차 밖에 듣지 않아서 특별한 내용은 많지 않았다. 새로운 팀원들과 알고리즘 풀이 시간을 갖는 것은 좋은 것 같다. 생각해보지 못했던 풀이법을 알 수 있었다..
- REST API
쉬면서 우연하게 REST API를 설계하는 팁을 주는 간단한 영상을 보았다. 여태 api url을 작성할때 save, update, delete, 등 동사를 사용해서 작성하였는데, api url에는 동사를 사용하지 않는다는 것을 알게 되었다. 그렇다면 api를 어떻게 작성하는가?
1. 동사를 제거한다.
예를 들면,
/createMovie
/getMovies
/getMovies/inception
/deleteMovie/inception
/updateMovie/inception
등을 아래와 같이 바꿀 수 있다.
/movie
/movies
/movie/inception
이중에서는 복수형인 movies와 inception을 사용하고, inception의 경우 DB에서 고유식별자 역할을 하게 된다.
/movies 와 /movies/inception이 되는 것이다.
2. HTTP methods를 사용한다.
GET --> Read
POST --> Create
PUT --> Update
DELETE --> Delete
3. 1과 2를 결합한다면 아래와 같다.
/movies 로 GET 요청을 하면 모든 영화 리스트를 불러오는 것과 같다 == /getMovies
/movies 로 POST 요청을 보내면 새로운 영화를 저장하는 것과 같다 == /createMovie
/movies/inception 로 GET 요청을 하면 해당 영화의 정볼를 불러오는 것과 같다 == /getMovies
/movies/inception 으로 PUT 요청을 보내면 영화의 정보를 업데이트하는 것과 같다 == /updateMovie
/movies/inception 으로 DELETE 요청을 보내면 영화를 삭제하는 것과 같다 == /deleteMovie
** 참고로 /movies로 PUT이나 DELETE와 같은 요청은 보내지 않는다. 당연하게도 모두 삭제하거나, 모두 업데이트 하는 일은 없기 때문이다.
--> 2가지 url만 가지고 CRUD API를 모두 설계할 수 있다.
/getTopReatedMovies
/findMoviesFrommThisYear
이런 url은 query_parameter을 사용해서 대신할 수 있다.
/movies?min_rating=9.8
/movies?release_date=2021
'SpartaCodingClub_개발일지 > TIL' 카테고리의 다른 글
1021 [웹 프로그래밍 A-Z 기초강의~2주차] TIL (0) | 2021.10.22 |
---|---|
1008 [웹프로그래밍 심화 3주차] TIL (0) | 2021.10.08 |
1006 [웹프로그래밍 심화 2주차] TIL (0) | 2021.10.06 |
1005 [프로젝트 회의] TIL (0) | 2021.10.05 |
1004 [프로젝트 흐름도 작성 및 화면구성] TIL (0) | 2021.10.05 |