programing

REST에서 성공적인 DELETE 문에 대한 HTTP 상태 반환 코드는 무엇입니까?

telecom 2023. 8. 28. 20:49
반응형

REST에서 성공적인 DELETE 문에 대한 HTTP 상태 반환 코드는 무엇입니까?

REST 웹 서비스를 Spring으로 처리하는 방법을 연구하고 있습니다(그러나 Spring과 관련된 답변인지 더 일반적으로 REST 개념과 관련된 답변인지는 모르겠습니다).

그래서 제 의심은: 성공적인 DELETE 문에 대한 HTTP 상태 반환 코드가 정확히 무엇인가요?

204호입니까, 아니면 200호입니까?

는 200이 제 요청이 올바르게 이행되었음을 의미한다는 것을 알지만, 온라인에서 읽어보니 삭제 후가 아니라 GET 콘텐츠를 성공적으로 반환한 후에 를 기대하는 것 같습니다.

PUT 또는 DELETE에 성공하면 204 상태가 되는 것을 어디선가 발견했습니다.그게 사실인가요?이해할 수 없습니다. 응답이 비어 있다는 입니다. 빈 응답은 PUT 또는 DELETE 작업이 성공적으로 완료되었다는 의미입니까?

HTTP 상태 코드가 각 메서드에 맞는 엄격한 규칙은 없습니다.정확히 무슨 일이 일어났는지, 고객에게 어떤 정보를 보내야 하는지 등에 따라 다릅니다.몇 가지 예를 생각해 볼 수 있습니다.

  • 성공적인DELETE더 이상의 정보 없이204 No Content

  • 성공적인DELETE관련 고아 자원에 대한 경고가 있습니다. 삭제해야 합니다.200 OK.

  • 당신은 수락했습니다.DELETE요청합니다. 하지만 시간이 오래 걸릴 수 있으며 비동기식으로 요청합니다.고객은 나중에 확인해야 합니다.202 Accepted.

  • 당신은 수락했습니다.DELETE요청하지만 리소스를 제거할 수 없으며 URI가 기본값으로 재설정됩니다.205 Reset Content.

응답 본문이 비어 있다고 해서 삭제가 성공한 것은 아니며, 삭제가 성공했다고 해서 응답 본문이 비어 있다는 것을 의미합니다.

RESTful API에 대한 공식적인 상태 코드 목록은 없지만 대부분 204가 성공적인 삭제를 위한 좋은 응답 코드라는 것에 동의합니다. 일반적으로 무언가를 삭제한 후 응답 본문을 반환할 좋은 이유가 없기 때문입니다.

일반적으로 작업이 성공적이고 응답 본체가 비어 있으면 204를 반환합니다.작업이 성공적이고 응답 본문이 비어 있지 않으면 200을 반환합니다.

응답이 비어 있다고 해서 작업이 성공한 것은 아니며 HTTP 오류 코드는 성공/실패를 나타내야 하며 응답 본문에 데이터가 포함되어 있거나 포함되어 있지 않을 수 있습니다.

응답 본문에는 요청과 관련된 추가 정보(예: UI에 표시할 특정 메시지, 정보에 대한 통계 또는 타이밍 정보 등)가 포함될 수 있습니다.하지만 그럴 필요는 없고, 신체의 목적은 정보/진단입니다.

2xx는 요청이 성공했음을 나타냅니다.xx를 사용하면 무슨 일이 일어났는지(서버가 무엇을 했거나 반환하고 있는지)를 좀 더 구체적으로 파악할 수 있습니다.

언급URL : https://stackoverflow.com/questions/29545861/what-is-the-http-status-return-code-for-a-successful-delete-statement-in-rest

반응형