GET, POST, PUT, DELETE

5186 단어 RequestRequest

Request 종류

서버의 데이터에 대해서 어떤 처리를 요구하느랴에 따라 크게 네 가지 종류로 나뉜다.

  • 데이터 조회 => GET => GET Request
  • 데이터 추가 => POST => POST Request
  • 데이터 수정 => PUT => PUT Request
  • 데이터 삭제 => DELETE => DELETE Request

위의 GET, POST, PUT, DELETE는 Request에 존재하는 메소드 종류들이다. 예를 들어 GET메소드가 있는 Request는 GET Request라고 부른다.

결국 각각의 메소드에 대해서 서버는 보통 그에 맞는 데이터 관련 조작을 한다. 만약 서버가 데이터베이스를 사용한다면 CRUD 작업을 하게 될 것이다. CRUD란 Create-Read-Update-Delete의 약자로 데이터베이스 관점에서 데이터에 관한 처리를 나타낸 합성어이다.


각 메소드는 각 데이터 관련 작업에 이렇게 대응된다.

GET => READ
POST => CREATE
PUT => UPDATE
DELETE => DELETE


Request head와 body

하나의 Request는 Head라는 부분과 Body라는 부분으로 나뉜다. Head는 request에 관한 부가 정보를 담고 있다. 위에서 본 메소드 값이 Head 안에 존재한다. Body는 실제 데이터를 담고 있다. 보통 POST나 PUT request에는 Head와 Body가 있고, GET이나 DELETE request의 경우에는 Head만 있는 것이 일반적이다.


GET

Get Request는 다음과 같이 시행할 수 있다.

fetch('https://learn.codeit.kr/api/members/3').then((response) => (response.text()).then((result) => (console.log(result))

위의 코드는 members 중 id값이 3인 멤버 데이터를 가져오는 코드이다.

POST

POST Request는 다음과 같이 시행할 수 있다.

const newMember = {
  name: 'sally',
  email: '[email protected]',
  department: 'engineering'}

fetch('https://learn.codeit.kr/api/members',{
  method: 'POST',
  body: JSON.stringify(newMember)
}).then((response) => (response.text()).then((result) => (console.log(result))

위의 url뒤에는 객체 하나가 새로운 argument를 넣어주고 있다. 이는 request에 관한 각종 설정을 적는 옵션 객체이다. 해석하자면 Request의 method값을 POST로 설정하라는 뜻이다. Body는 Request의 body에 담을 데이터를 설정하는 곳이다.

JSON의 메소드인 stringify는 다른 메소드 parse와는 정반대의 역할을 한다. stringify는 javascript 객체를 string 타입의 JSON데이터로 변경해준다. 어떤 자바스크립트가 담고있는 객체를 외부로 보내줄 때 사용한다.(변경없이는 javascript를 바로 보낼 수 없기 때문이다.)

좋은 웹페이지 즐겨찾기