REST의 모든 기능에 POST를 사용하는 것은 잘못 되었습니까? 나는 POST가 업데이트 및 생성을위한 것이라는 것을 알고 있지만 SELECTS 및 DELETS에도 사용한다면 어떻게 될까요? 기본적으로 데이터베이스에 CRUD 작업을 수행 할 수있는 웹 서비스가 필요합니다. PHP를 사용하고 있습니다. 또한 쿼리 문자열을 사용하여 JSON 또는 XML 대신 POST 요청을 수행하면 어떻게됩니까?REST 프로토콜의 모든 기능에 POST 사용
답변
모든 작업에 POST를 사용하는 경우 실제로는 더 이상 REST를 호출 할 수 없습니다.
그래서 잘못은 아니지만 휴식 아니에요 중 하나 :)
은 REST에서 모든 것을 POST를 사용하는 것이 잘못인가?
REST의 모든 항목에 POST를 사용할 수 없으므로 (예 : 요청 일뿐 응답 일 수 없음) 잘못되었거나 올바른 질문이 유효한 질문이 아닙니다.
POST가 업데이트 및 생성 용이지만 알고 싶다면 SELECTS 및 DELETS에도 사용해야합니다.
정상적으로 작동합니다.
기본적으로 데이터베이스에 CRUD 작업을 수행 할 수있는 웹 서비스가 필요합니다.
괜찮습니다.
나는 PHP를 사용하고 있습니다.
괜찮습니다. PHP는 HEAD, GET, POST 메소드를 지원합니다. PUT 및 DELETE 메서드의 경우 약간의 코딩 작업이 필요합니다.
또한 JSON 또는 XML 대신 POST 요청을 수행하기 위해 쿼리 문자열을 사용하면 어떻게됩니까?
JSON/XML 요청 본문 대신 쿼리 문자열을 사용합니다. REST는 프로토콜을 지정하지 않으므로 원하는대로 수행 할 수 있습니다. "쿼리 문자열"을 사용하는 것은 PHP에서 좋은 생각 일 수 있습니다. PHP가 PHP를 지원하기 때문입니다. 그러나 핸들러 또는 지원하려는 항목에 따라 다릅니다.
질문이 매우 광범위하기 때문에 먼저 REST에 대한 기본 설명을 읽으십시오. 그러면 더 구체적으로 묻습니다. A Brief Introduction to REST.
예, 잘못되었습니다. 업데이트 이외의 다른 용도로 POST를 사용하는 경우 실제로 REST 규칙을 따르지 않습니다.
포크로 스프를 먹을 수는 있지만 그 이유는 무엇입니까? 어쨌든 모든 방법을 사용할 수 있습니다. 단지 REST 프로토콜이라고 부르지 마십시오.
반복 할 수있는 호출에 POST를 사용하는 것은 잘못입니다.
POST 호출은 캐시되지 않지만 선택 호출은 캐시 가능 (반복 가능)이어야하므로 POST를 사용해서는 안됩니다.
그러나 POST를 통해 모든 것을 강제 할 수없는 기술적 인 이유는 없습니다 (특히 모든 브라우저에서 DELETE가 지원되지는 않음)하지만 어떤 호출에서도 캐싱이 작동하지 않으며 POST 호출이 생성되면 페이지 재로드를 확인하라는 요청을받지 않고 사용자가 웹 페이지를 새로 고칠 수 없습니다. 이 REST 튜토리얼 here 시리즈의 4 번째 기사에서
는 말한다 : 생성, 업데이트 및 데이터를 사용 POST 요청을 삭제
. (POST는 복잡한 매개 변수가 필요할 때 위에서 언급 한 바와 같이 읽기 전용 쿼리에도 사용할 수 있습니다.)
물론 GET은 일반적으로 읽기 전용 쿼리에 사용되므로 복잡성이있는 경우 모두 함께 사용합니다. 복잡성과 단순성 사이에 임계 값이없는 경우의 일종의 간단한 가정 인 기본 가정은 REST에서 전체 시리즈를 작성하는 데 충분한 권한을 가진이 사람은 모든 것을 POST해도 무방하다고 말합니다. 캐시가 도움이 될 수있는 다양한 HTTP 동사에 대한 응답에 대해 몇 가지 가정을하고 있지만 응용 프로그램이 캐싱의 이점을 얻지 못하는 경우 (실제로 응용 프로그램이이를 손상시킬 수 있으므로 사용하지 않도록 설정하거나 응용 프로그램에서 문제가 발생하지 않도록하십시오) 어떤 문제가 있는지 나는 모른다.
- 1. WCF REST POST XML
- 2. WCF REST POST XML
- 3. HTTP POST 명령/REST url
- 4. WCF REST 서비스 POST 방법
- 5. REST 끝점에 HTTP POST 만들기
- 6. Django REST Framework 파일 오류가있는 POST 데이터 (ModelResource 사용)
- 7. REST와 HTTP 프로토콜의 차이점은 무엇입니까?
- 8. warn_unused_result를 GCC의 모든 기능에 적용
- 9. REST WebService POST API를 2048 자로 제한해야합니까?
- 10. 사용자 지정 프로토콜의 XMPP 오류
- 11. CakePHP REST POST 및 PUT의 승인 문제
- 12. WCF REST 메시지 로깅, POST 요청 문제
- 13. REST + Spring + POST with custom marshaller
- 14. 하스켈을 REST 서버로 사용
- 15. django-rest-interface 사용
- 16. HBASE에 datanucleus-rest 사용
- 17. URI에서 HTTP POST 사용
- 18. HTTP와 REST 비교에서 Get과 Post 메서드의 차이점
- 19. REST 서비스가 POST 페이로드를 가져 오지 않습니다.
- 20. ReST : POST : java.io.IOException : 지원되지 않는 미디어 형식
- 21. Rails REST API POST 매개 변수
- 22. Powershell HTTPS REST API GET/POST
- 23. Twitter REST API 1.1 POST 우정/생성
- 24. Zend Rest Api : POST 메서드의 putAction
- 25. JSON POST 요청을 처리하는 CodeIgniter Rest 서버
- 26. Python을 사용하여 XML POST REST 요청
- 27. 자바 안드로이드에서 cURL XML REST POST
- 28. 스프링 REST 컨트롤러에서 RequestBody가있는 XML/JSON POST
- 29. C# REST API : xml from post data
- 30. 제어판의 프로그램 기능에 표시되는 사용 체크 박스
왜 적절한 HTTP 동사를 사용하지 않습니까? – deceze
내가 틀렸는 지 묻는 중이었습니다. – Indy
Facebook은 모든 기능에 GET을 사용했습니다. 삭제/업데이트도 포함되었습니다. – OptimusCrime