• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

Get, Post, Put, Delete 관련 질문입니다.

21.06.01 16:44 작성 조회수 198

1

안녕하세요. 좋은 강의 정말 잘 듣고 있습니다. 강의 듣다가 궁금한 것이 생겨서 질문 남깁니다.

Put이나 Delete가 생기기 전에 Get으로 요청할 시 뒤에 데이터가 노출이 될 수도 있어서 Post를 주로 사용했었던 적이 있습니다.

그 습관 때문인지 Post로만 라우터를 작성해서 처리했었는데요. 이 강의를 들으면서 CRUD에 따라 각 명령을 다 다르게 적용하는 것이 원칙임을 알게되었습니다.

저는 router.post('/getData'), router.post('/deleteData') 같은 식으로 사용했습니다. 이런 식으로 Post로만 update나 delete 같은 걸 처리하는 것이 Put이나 Delete 같은 명령어를 사용할 때와 차이가 있는것인지 궁금합니다.

답변 1

답변을 작성해보세요.

1

김현종님 안녕하세요 :)

모든 API처리를 POST 혹은 다른 method로 처리해도 성능상 문제가 없습니다. 다만 API를 소모하는 클라이언트 입장에서 API가 RESTful 하게 짜여져 있으면 금방 사용할 수 있겠죠. REST는 그냥 서로 쉽게 소통 하기위 한 약속이거든요.

REST 방식을 대체하는 GraphQL 방식으로 백엔드를 짤 수도 있는데요. 이 경우 POST, PUT, PATCH, DELETE 등 CRUD 중 CUD를 mutation 하나로 처리해요. R은 query로 처리하고요. Method가 딱 mutation, query 이렇게 2개가 되는거죠.

김현종님의 프로필

김현종

질문자

2021.06.01

친절한 설명 감사합니다.