잠시 동안 RESTful API가 CRUD 작업을 웹 응용 프로그램의 지속 된 엔터티에 방금 노출했다고 생각했습니다. "현실 세계"에서 어떤 것을 코딩하면 곧 이것이 충분하지 않다는 것을 알게됩니다. 예를 들어, 은행 계좌 이관은 지속 된 법인 일 필요는 없습니다. /transfers/
와 페이로드에서 당신이 POST
당신이 세부 사항을 지정하는 곳은 일시적인 자원이 될 수있다 :RESTful API에서 임시 리소스를 검색하는 방법
{"accountToCredit":1234, "accountToDebit":5678, "amount":10}
여기 POST
를 사용하여이 서버의 상태를 변경하기 때문에 의미가 있습니다 ($ 다른 때마다 하나 개의 계정 (10 명)으로 이동 이 POST
이 발생합니다.
서버에 영향을주지 않는 경우 어떻게해야합니까? 간단한 첫 번째 대답은 GET
을 사용하는 것입니다. 예를 들어, $ 100 미만인 저축 및 당좌 계정 목록을 얻고 싶습니다. 그런 다음 GET
에서 /accounts/searchResults?minBalance=0&maxBalance=100
으로 전화 할 것입니다. 검색 매개 변수가 최대 길이 인 GET
요청에 맞지 않는 복잡한 객체를 사용해야하는 경우 어떻게됩니까?
내 첫번째 생각은 POST
을 사용했지만,이 서버의 상태를 변경하지 않기 때문에 그것에 대해 생각 후 일부는 더는 아마 PUT
을해야하지만, 내 (제한적) 이해에서 나는 항상 PUT
의 같은 생각 리소스를 업데이트하는 것으로 (이 검색 결과 생성과 마찬가지로) POST
을 업데이트합니다. 그래서이 경우 사용해야합니까?
Transient REST Representations
How to design RESTful search/filtering?