RESTfulな方法で考えると、POSTを使用して、リソースとそのサブリソースを1回の呼び出しで作成するのは正しいですか?私のアプリケーションには、リソース/notices/{notice}
とサブリソースがあり/notices/{notice}/photos/{photo}
ます。はなし{photo}
では存在できませんが{notice}
、{notice}
必ずしも写真を持っているとは限りません。通常、私は最初に通知を作成するためにPOSTを実行し、次に写真を追加するために別のPOSTを実行する必要があります。
ここで、写真を直接添付して通知を作成できるようにし、/notices/{notice}
両方/notices/{notice}/photos/{photo}
のリソースを説明するマルチパートコンテンツ(JSON通知のために、写真のバイナリ)。サブリソースに対してのみLocationヘッダーを返すと思います。
基本的に、Androidクライアントがサーバーに2つのPOSTリクエストを送信して、写真付きの通知をアップロードしないようにするためです。これは正しいです?それともRESTの原則を侵害していますか?それらを別々に保ち、2つの異なる要求を行うことを検討する必要がありますか?それとも、写真を通知とは別のエンティティと見なすのは間違っていますか?/notices/{notice}
PUTを使用して写真を追加し、リソースとしてのみ保持する必要がありますか?
どちらが最善の解決策ですか?