어떻게 든 @TatsuyukiIshi에 의해 주어진 허용 대답에 동의 문제의 실제 제목에 대해서. PUT
의 의미는 다음과 같습니다. 주어진 URI에서 현재 얻을 수있는 내용을 요청에 포함 된 페이로드로 바꿉니다. 리소스가 ID없이 식별 될 수있는 경우, 즉 그 종류 중 하나만 존재할 수있는 경우, "단일 리소스"의 ID가 종점 자체에 이미 암시 적으로 주어 지므로 ID를 지정하지 않고 업데이트를 처리 할 수 있습니다. 비록 이것이 드문 경우라고 인정해야합니다.
이러한 사례는 임의의 콘텐츠를 넣고 나중에 검색 할 수있는 리소스와 같은 클립 보드 일 수 있습니다. 물론 POST
요청으로받은 본문의 의미가 명확하지 않지만 POST
을 사용할 수도 있습니다. 또한 POST
은 PUT
작업과 달리 멱등 물이 아닙니다.
그러나 PUT /api/messages
과 같은 것을 사용하면 일반적으로 모든 메시지를 요청과 함께 전송 된 콘텐츠로 대체 할 수 있습니다. 실제로는 그렇지 않을 수도 있습니다. 일반적으로 한 번에 하나의 리소스 만 수정하여 특정 리소스를 식별하는 함께 제공된 ID를 사용하려고합니다.
질문의 실제 내용과 관련하여 POST
을 통해 파일을 업로드하는 것이 일반적입니다. 성공적으로 업로드하면 생성 된 리소스를 가리키는 Location
HTTP 헤더가 포함 된 201 Created
응답을 반환합니다. POST
요청을 통해 수신 된 콘텐츠를 처리하는 서비스의 동작은 서비스 구현 자까지 총합니다. 따라서 새 리소스를 만들거나 리소스를 실제로 만들지 않고도 일부 백업 작업을 수행 할 수 있습니다 (업데이트도 사양에 의해 금지되지 않음).
, 당신은 POST를 사용해야합니다, 서버가 ID와 객체를 반환하는 경우에, 그래서 당신이 맞아요, 당신은 필요 없어 ID를 사용하십시오, 그러나 방법은 또한 틀리다. –