본문 바로가기

SpartaCodingClub_개발일지/TIL

1020 [웹프로그래밍 심화 3주차] TIL

반응형

- 알고리즘

오늘부터 알고리즘 공부를 시작했다. 오랜만에 해서 쉽지 않았다. 역시 꾸준히 해야 도움이 되는 것 같다. 아직 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

 

 

 

반응형