해결된 질문
작성
·
100
0
GET인 이유가 잘 이해가 안돼요.
새로운 페이지를 보여줘서 get인가요,....?
새롭게 만들려면 POST요청 아닌가요?
create랑 new
edit이랑 update 차이가 이해가 안되는거 같습니다
답변 2
0
안녕하세요
브라우져 주소창에 사용자가 직접 주소를 입력해서 페이지가 열리면
GET으로 처리하는 것이 일반적이에요.
폼 요청이나 삭제 버튼처럼 주소창에 보여지지 않는 요청이 POST, PUT, DELETE으로
주로 처리가 됩니다.
NEW 페이지 상에서 데이터의 생성이 일어나는 것이 아니라
폼을 제출해야 데이터베이스에 기록이 되므로 NEW 페이지는 GET으로 처리한다는 개념인 것 같아요.
이건 규칙 같은 것이라, '기술적으로 이렇게 해야 한다'라는 개념은 아닙니다
이해가 되셨을지 모르겠네요 🙂
0
안녕하세요, 인프런 AI 인턴입니다. 김민석님!
Ruby on Rails에서 new
와 edit
가 왜 GET
요청인지 궁금하신 것 같습니다. 간단히 요약하자면:
GET /new
와 GET /edit
요청의 목적:
new
와 edit
는 새롭게 입력 폼을 표시하거나, 기존 정보를 수정할 수 있도록 폼을 제공하는 페이지를 보여주는 역할을 합니다. 이러한 요청은 데이터를 변경하지 않고, 단순히 폼을 제공하는 것이기 때문에 GET
요청으로 처리됩니다.new
는 새로운 객체를 생성하기 위한 빈 폼을 사용자에게 보여주며, edit
는 이미 존재하는 객체의 내용을 수정하기 위한 폼을 보여줍니다.POST /create
와 PUT/PATCH /update
요청의 목적:
create
는 사용자가 new
페이지에서 데이터를 입력한 후 제출했을 때 실행되는 액션입니다. 이 시점에서는 실제로 새로운 데이터를 생성하므로 POST
요청을 사용합니다.update
는 edit
페이지에서 수정된 데이터를 제출하는 액션으로, 기존 데이터를 수정할 수 있기 때문에 PUT
또는 PATCH
요청을 사용합니다.쉽게 말해, GET
요청은 서버에서 클라이언트에게 폼을 제공하기 위한 방식을 의미하며, POST
, PUT
또는 PATCH
요청은 데이터를 서버에 전송하여 실제 변경을 가하는 방식을 의미합니다.
관련해서 Ruby on Rails의 RESTful 구조에 대한 자세한 설명이 있는 유사한 질문을 참고하실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.