URL을 사용하여 작업이 아닌 개체를 지정합니다.
처음 언급 한 내용은 RESTful이 아닙니다.
/questions/show/<whatever>
대신 URL을 사용하여 객체를 지정해야합니다.
/questions/<question>
그런 다음 해당 리소스에 대해 아래 작업 중 하나를 수행합니다.
가져 오기:
리소스를 얻고, 리소스 목록을 쿼리하고, 리소스에 대한 읽기 전용 정보를 쿼리하는 데 사용됩니다.
질문 리소스를 얻으려면 :
GET /questions/<question> HTTP/1.1
Host: whateverblahblah.com
모든 질문 리소스를 나열하려면 :
GET /questions HTTP/1.1
Host: whateverblahblah.com
게시하다:
리소스를 만드는 데 사용됩니다.
다음은 오류입니다.
POST /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
URL이 아직 생성되지 않은 경우 이름을 지정하는 동안 POST를 사용하여 생성해서는 안됩니다. 아직 존재하지 않기 때문에 리소스를 찾을 수 없음 오류가 발생합니다. 먼저 서버에 리소스를 넣어야합니다. 새 질문을 만들면 이제 질문 목록에 하나 이상의 질문을 반환하므로 / questions 리소스도 업데이트한다고 주장 할 수 있습니다.
POST를 사용하여 리소스를 생성하려면 다음과 같이해야합니다.
POST /questions HTTP/1.1
Host: whateverblahblah.com
이 경우 리소스 이름이 지정되지 않으면 새 개체 URL 경로가 반환됩니다.
지우다:
리소스를 삭제하는 데 사용됩니다.
DELETE /questions/<question> HTTP/1.1
Host: whateverblahblah.com
놓다:
리소스 URL을 지정하는 동안 리소스를 만들거나 덮어 쓰는 데 사용됩니다.
새 리소스의 경우 :
PUT /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
기존 리소스를 덮어 쓰려면 :
PUT /questions/<existing_question> HTTP/1.1
Host: whateverblahblah.com
... 예, 동일합니다. PUT는 종종 전체 리소스를 약간 변경된 버전으로 대체하여 클라이언트가 다음에 수행 할 때 얻을 수있는 내용을 편집했기 때문에 '편집'방법으로 설명됩니다.
HTML 양식에서 REST 사용 :
HTML5 스펙을 정의 GET 양식 요소에 대한 POST .
메소드 컨텐츠 속성은 다음 키워드 및 상태가있는 열거 속성입니다.
- HTTP GET 메소드를 나타내는 GET 상태에 맵핑되는 키워드 GET.
- HTTP POST 메서드를 나타내는 POST 상태에 매핑되는 키워드 POST입니다.
기술적으로 HTTP 사양은 이러한 방법으로 만 제한되지 않습니다. 기술적으로 원하는 방법을 자유롭게 추가 할 수 있지만 실제로는 좋은 생각이 아닙니다. 아이디어는 모든 사람이 GET을 사용하여 데이터를 읽는다는 것을 알고 있으므로 대신 READ를 사용하기로 결정하면 문제가 발생합니다. 그 말은 ...
반점:
이것은 공식 RFC에서 정의 된 방법입니다. 리소스에 부분 수정 만 보내려는 경우에 사용하도록 설계되었으며 PUT와 매우 유사하게 사용됩니다.
PATCH /questions/<new_question> HTTP/1.1
Host: whateverblahblah.com
차이점은 PUT은 실제로 변경된 내용과 비교하여 얼마나 큰지에 관계없이 전체 리소스를 보내야하는 반면 PATCH 는 변경 사항 만 보낼 수 있다는 것 입니다.