HTTP 프로토콜에서 PUT, POST 및 PATCH 메소드의 차이점은 무엇입니까?
HTTP 프로토콜에서 PUT, POST 및 PATCH 메소드의 차이점은 무엇입니까?
답변:
HTTP 동사에서 PUT, POST, GET, DELETE 및 PATCH의 차이점 :
가장 일반적으로 사용되는 HTTP 동사 POST, GET, PUT, DELETE는 데이터베이스의 CRUD (만들기, 읽기, 업데이트 및 삭제) 작업과 유사합니다. 대문자로 이러한 HTTP 동사를 지정합니다 . 아래는 이들을 비교 한 것입니다.
PATCH : 리소스에 부분 수정을 제출합니다. 자원에 대해 하나의 필드 만 업데이트해야하는 경우 PATCH 메소드를 사용할 수 있습니다.
참고 :
POST, PUT, DELETE는 내용을 수정하므로 아래 URL에 대한 Fiddler의 테스트는 업데이트를 모방합니다. 실제로 삭제하거나 수정하지는 않습니다. 삽입, 업데이트, 삭제가 발생했는지 확인하기 위해 상태 코드를 볼 수 있습니다.
URL : http://jsonplaceholder.typicode.com/posts/
1) GET :
GET은 가장 간단한 유형의 HTTP 요청 방법입니다. 링크를 클릭하거나 주소 표시 줄에 URL을 입력 할 때마다 브라우저가 사용하는 것입니다. URL에 의해 식별 된 데이터를 클라이언트에게 전송하도록 서버에 지시합니다. GET 요청의 결과로 서버 측에서 데이터를 수정해서는 안됩니다. 이런 의미에서 GET 요청은 읽기 전용입니다.
Fiddler 또는 PostMan으로 확인 : Fiddler를 사용하여 응답을 확인할 수 있습니다. Fiddler를 열고 작성 탭을 선택하십시오. 아래와 같이 동사와 URL을 지정하고 실행을 클릭하여 응답을 확인하십시오.
동사 : GET
url : http://jsonplaceholder.typicode.com/posts/
응답 : 다음 과 같이 응답을받습니다.
"userId": 1, "id": 1, "title": "sunt aut ...", "body": "quia et suscipit ..."
"행복한"(또는 오류가 아닌) 경로에서 GET은 XML 또는 JSON으로 표현하고 200 (OK)의 HTTP 응답 코드를 반환합니다. 오류가 발생하면 대부분 404 (NOT FOUND) 또는 400 (BAD REQUEST)을 반환합니다.
2) POST :
POST 동사는 주로 새 리소스 를 만드는 데 사용됩니다 . 특히 하위 리소스를 만드는 데 사용됩니다. 즉, 다른 (예 : 상위) 자원에 종속됩니다.
작성에 성공하면 HTTP 상태 201을 리턴하고 201 HTTP 상태의 새로 작성된 자원에 대한 링크가있는 Location 헤더를 리턴하십시오.
Fiddler 또는 PostMan으로 확인 : Fiddler를 사용하여 응답을 확인할 수 있습니다. Fiddler를 열고 작성 탭을 선택하십시오. 아래와 같이 동사와 URL을 지정하고 실행을 클릭하여 응답을 확인하십시오.
동사 : POST
url : http://jsonplaceholder.typicode.com/posts/
요청 본문 :
데이터 : {제목 : 'foo', 본문 : 'bar', userId : 1000, ID : 1000}
응답 : 201로 응답 코드를받습니다.
Id = 1000으로 삽입 된 레코드를 확인하려면 동사를 Get으로 변경하고 동일한 URL을 사용하고 실행을 클릭하십시오.
앞서 언급했듯이 위의 URL은 읽기 (GET) 만 허용하므로 업데이트 된 데이터를 실제로 읽을 수는 없습니다.
3) PUT :
PUT은 업데이트 기능에 가장 많이 사용되며 , 원래 업데이트 된 원본 리소스의 표현이 포함 된 요청 본문을 통해 알려진 리소스 URI로 PUT됩니다.
Fiddler 또는 PostMan으로 확인 : Fiddler를 사용하여 응답을 확인할 수 있습니다. Fiddler를 열고 작성 탭을 선택하십시오. 아래와 같이 동사와 URL을 지정하고 실행을 클릭하여 응답을 확인하십시오.
동사 : PUT
url : http://jsonplaceholder.typicode.com/posts/1
요청 본문 :
데이터 : {제목 : 'foo', 본문 : 'bar', userId : 1, Id : 1}
응답 : 업데이트가 성공하면 PUT에서 200 (또는 본문의 내용을 반환하지 않으면 204)을 반환합니다.
4) 삭제 :
DELETE는 이해하기 매우 쉽습니다. URI로 식별되는 리소스 를 삭제 하는 데 사용됩니다 .
삭제가 성공하면 응답 본문과 함께 HTTP 상태 200 (OK), 삭제 된 항목의 표현 (대개 너무 많은 대역폭이 필요함) 또는 랩핑 된 응답 (아래의 반환 값 참조)을 반환하십시오. 응답 본문이없는 HTTP 상태 204 (NO CONTENT)를 반환하거나 반환하십시오. 즉, 본문이없는 204 상태 또는 JSEND 스타일 응답 및 HTTP 상태 200이 권장되는 응답입니다.
Fiddler 또는 PostMan으로 확인 : Fiddler를 사용하여 응답을 확인할 수 있습니다. Fiddler를 열고 작성 탭을 선택하십시오. 아래와 같이 동사와 URL을 지정하고 실행을 클릭하여 응답을 확인하십시오.
동사 : 삭제
url : http://jsonplaceholder.typicode.com/posts/1
응답 : 삭제에 성공하면 응답 본문과 함께 HTTP 상태 200 (OK)이 반환됩니다.
PUT과 PATCH 사이의 예
놓다
이름을 변경해야한다면 업데이트를 위해 PUT 요청을 보내십시오.
{ "first": "Nazmul", "last": "hasan"} 따라서 여기서 이름을 업데이트하려면 데이터의 모든 매개 변수를 다시 보내야합니다.
반점:
패치 요청에 따르면 데이터의 다른 부분을 수정하거나 영향을주지 않고 수정해야하는 데이터 만 보내야한다고합니다. 예 : 이름 만 업데이트해야하는 경우 이름 만 전달합니다.
자세한 내용은 아래 링크를 참조하십시오.
https://jsonplaceholder.typicode.com/
PUT = 전체 자원을 제공된 새 표현으로 바꿉니다.
PATCH = 소스 자원의 일부를 제공된 값으로 대체 AND | 또는 자원의 다른 부분은 사용자가 제공하지 않은 것으로 업데이트 (타임 스탬프) 및 | 또는 자원을 업데이트하면 다른 자원에 영향을줍니다 (관계)
아래 정의는 실제 예에서 나온 것입니다.
예제 개요
모든 클라이언트 데이터에 대해 해당 클라이언트 데이터를 찾기위한 식별자를 저장하고 있으며 해당 식별자를 해당 클라이언트에 다시 보내 참조하도록합니다.
게시하다
놓다
반점
참고 : Put 메소드에서 식별자를 찾지 못하면 예외가 발생하지 않습니다. 그러나 패치 방법에서 식별자를 찾지 못하면 예외가 발생합니다.
위의 질문이 있으면 알려주십시오.
GET / PUT은 dem 등원입니다. 패치는 때때로 dem 등원 일 수 있습니다.
dem 등원 (Idempotent)이란-쿼리를 여러 번 실행하면 결과에 영향을 미치지 않아야 함을 의미합니다.
get
:-간단하게. 서버에서 데이터를 가져 와서 사용자에게 표시
{
id:1
name:parth
email:x@x.com
}
post
:-데이터베이스에서 새 리소스를 만듭니다. 새로운 데이터를 추가한다는 의미입니다. dem 등성이 아닙니다.
put
:-그렇지 않으면 기존 자원에 새 자원을 작성하십시오. 매번 동일한 자원을 업데이트하고 출력이 동일하기 때문에 dem 등하 지 않습니다. 전의. -초기 데이터
{
id:1
name:parth
email:x@x.com
}
{
id:1
email:ppp@ppp.com
}
patch
패치 요청이 왔으므로 패치는 때때로 dem 등 수 있습니다.
id:1
name:parth
email:x@x.com
}
패치 이름 : w
{
id:1
name:w
email:x@x.com
}
HTTP 메소드 예 POST no 예 패치 번호 * 옵션 예 머리 예 예 삭제
자료 : dem 등원 (Idempotent )-dem 등원이란?
이런 식으로 생각하십시오 ...
POST-작성
PUT-교체
패치-업데이트
GET-읽기
삭제-삭제
가장 간단한 설명 :
POST-새 레코드 작성
PUT-레코드가 존재하면 업데이트하고 새 레코드를 작성하십시오.
패치-업데이트
GET-읽기
삭제-삭제