TIL:) RESTful API

😃 Today I Leaned

  • 팀 소개 웹 페이지 _ Git merge
  • RESTful API

팀 소개 웹 페이지 _ Git merge

팀원들이 작성한 코드를 합치는 시간을 가졌다!

다들 Git에 대해 자세히 알지 못해 충돌이 나는 부분에서 해결하는데 시간이 걸렸다.

 

repository를 fork 한 후 변경사항을 pull request 하는 방법과

새로운 branch를 생성해 main branch에 merge하는 방법을 사용했다

 

Eclipse나 STS를 사용해 branch를 생성하고 merge하는 것은 해본 적이 있었지만

VsCode나 GitBash를 사용해 Git을 사용한 적은 없어 어려웠던 것 같다

 

앞으로 Git Bash를 좀 더 자세히 공부를 해야할 것 같다


RESTful API

참고 ) https://velog.io/@yh20studio/CS-Http-Method-%EB%9E%80-GET-POST-PUT-DELETE

 

REST는 URI를 통해 자원을 표시하고, HTTP Method를 이용해 해당 자원의 행위를 표현하는 것을 말한다.

 

HTTP Method는 크게 GET(조회), POST(등록), PUT(수정), DELETE(삭제)가 있다.

(( 멱등성(idempotent)이란?

   여러 번 수행해도 결과가 같음을 의미. 즉, 호출로 인해 데이터가 변형이 되지 않는 것을 의미 ))

 

1. GET

- 주로 데이터를 읽거나 검색할 때 사용되는 메서드

- 요청이 성공적으로 이루어지면 XML이나 JSON과 함께 200 HTTP 응답 코드를 리턴

- 에러가 발생하면 주로 404 에러나 400 에러가 발생

- GET 요청은 idempotent 

- 같은 요청을 여러 번 하더라고 변함없이 항상 같은 응답을 받을 수 있음

- 데이터를 변경하는 연산에는 사용하면 안 됨

 

2. POST

- 주로 새로운 리소스를 생성할 때 사용

- 성공적으로 생성을 완료하면 201 HTTP 응답을 반환

- POST 요청은 idempotent 하지 않음

- 같은 POST 요청을 반복해서 했을 때 항상 같은 결과물이 나오는 것을 보장하지 않음

 

3. PUT

- 리소스를 생성 / 업데이트하기 위해 서버로 데이터를 보내는 데 사용

- PUT 요청은 idempotent 함

- 동일한 PUT 요청을 여러 번 호출하면 항상 동일한 결과가 생성됨

 

4. DELETE

- 지정된 리소스를 삭제

 


⭐알게 된 점⭐

PUT과 POST의 차이점

이번 프로젝트를 진행하면서 댓글을 수정할 때 POST를 사용해 DB를 수정하였다.

하지만 PUT방식이 있다는 것을 알았고 그 둘의 차이점에 대해 공부할 수 있었다.

PUT : 요청 시마다, 같은 리소스를 반환

POST : 요청 시 마다, 새로운 리소스를 반환

즉, PUT은 멱등하고 POST는 멱등하지 않다.

 

번외 ) PUT과 PATCH의 차이점

PATCH도 PUT과 같이 수정할 때 사용하는 메서드라고 한다.

- PATCH : 리소스의 일부분만 수정할 때 사용

- PUT : 리소스의 모든 속성을 수정하기 위해 사용

 

만약 PUT 요청 시 요청을 일부분만 보낸다면,

나머지는 default 값으로 수정되는 것이 원칙이므로 바뀌지 않는 속성도 모두 보내야 한다.

하지만 PATCH는 요청을 일부분만 보내도

기존의 데이터는 유지되고 새롭게 바뀐 부분만 반영된다.

 


🐰 END

오늘 팀원들의 코드를 합치는 것까지 모든 과정을 마치고 내일 발표만 남아있다!

스파르타 첫 프로젝트인 만큼 새로운 지식을 쌓을 수 있어 도움이 되는 시간이었다.

아직 많은 산이 남아있지만 앞으로 더욱더 성장해 나갈 수 있을 거라 생각하며

오늘 하루 끝!

BELATED ARTICLES

more