WebApi를 사용하여 RESTful 웹 서비스를 디자인하고 객체를 업데이트 / 생성 할 때 어떤 HTTP 응답 및 응답 본문이 반환되는지 궁금합니다.
예를 들어 POST 메서드를 사용하여 일부 JSON을 웹 서비스에 보낸 다음 객체를 만들 수 있습니다. 그런 다음 HTTP 상태를 생성됨 (201) 또는 확인 (200)으로 설정하고 "새 직원 추가됨"과 같은 메시지를 반환하거나 원래 보낸 개체를 반환하는 것이 가장 좋은 방법입니까?
PUT 방법도 마찬가지입니다. 어떤 HTTP 상태를 사용하는 것이 가장 좋으며 생성 된 객체 또는 메시지 만 반환해야합니까? 어쨌든 사용자는 어떤 객체를 만들거나 업데이트하려고하는지 알고 있다는 사실을 고려하십시오.
이견있는 사람?
예:
새 직원 추가 :
POST /api/employee HTTP/1.1
Host: localhost:8000
Content-Type: application/json
{
"Employee": {
"Name" : "Joe Bloggs",
"Department" : "Finance"
}
}
기존 직원 업데이트 :
PUT /api/employee HTTP/1.1
Host: localhost:8000
Content-Type: application/json
{
"Employee": {
"Id" : 1
"Name" : "Joe Bloggs",
"Department" : "IT"
}
}
응답 :
객체가 생성 / 업데이트 된 응답
HTTP/1.1 201 Created
Content-Length: 39
Content-Type: application/json; charset=utf-8
Date: Mon, 28 Mar 2016 14:32:39 GMT
{
"Employee": {
"Id" : 1
"Name" : "Joe Bloggs",
"Department" : "IT"
}
}
메시지만으로 응답 :
HTTP/1.1 200 OK
Content-Length: 39
Content-Type: application/json; charset=utf-8
Date: Mon, 28 Mar 2016 14:32:39 GMT
{
"Message": "Employee updated"
}
상태 코드만으로 응답 :
HTTP/1.1 204 No Content
Content-Length: 39
Date: Mon, 28 Mar 2016 14:32:39 GMT
UPDATE/INSERT ... RETURNING
SQL 에 대한 Postgresql 변형 과 매우 유사합니다 . 특히 새 데이터를 계속 제출하고 업데이트 된 버전 원자를 요청하므로 매우 편리합니다.