表示、作成、編集、または削除できるリソースを含む残りのシステムを指定しています。私は休息とhttpメソッドのセマンティクスを尊重しようとしています。
リソースがhttp://mydomain.org/oid_barで識別される場合、次のメソッドで管理できます: - PUT はこのリソースを作成または更新します - DELETE はこのリソースを削除します - GET はこのリソースを返します
しかし、まだ oid がわからない新しいリソースを作成する必要がある場合は、どうすればよいでしょうか? このケースは、オブジェクトをデータベースに追加し、主キーがデータベースによって自動生成される場合に非常に一般的です。私の場合、バックエンドはデータベースです。
次の空き oid を返し、その値をインクリメントするリソースhttp://mydomain.org/next_free_oidを使用したソリューションについて考えました。このリソースは POST リクエストにのみ応答します。返された oid を使用して、ターゲット URL に PUT 要求を送信できます。
別の解決策は、POST リクエストをhttp://mydomain.org/に送信することです。このリクエストは、生成された oid でリソースを作成し、oid を返します。
前のソリューションの変形は、 http://mydomain.org/create_objectに POST リクエストを送信することです。
3 番目の解決策は、私の好みの解決策です。しかし、URL をサービスとして使用するために HTTP/REST に準拠していますか?
すべてのコメントは大歓迎です。
よろしく、ミカエル