現在、従来の顧客データにアクセスするためのREST APIを設計しています。APIの要素の1つは、ユーザーの資産です。アセットは特定のサービスの下に追加されます。バックエンドAPIは、特定のサービスのユーザーにのみアセットを追加します。したがって、User--Asset関係はありませんが、User-[Service]-Asset関係があります。
URIは次のようになります。
/users/{id}/assets/{id}/services/{id}
APIを使用すると、新しいエントリを作成するためのアセットIDとサービスIDがわかります。私たちが苦労しているのは、この関係の創造です。
簡単な方法の1つは、関係全体を /users/{id}/assets/
POST /users/{id}/assets
{asset:${id}, service:{id}, attribute1:"{var}", attribute2:"{var}"}
しかし、URIが示すように実際にアセットを作成するのではなく、アセットとサービスの関係を作成します。
別の方法として、次のように関係をアドレス指定するURIにPOSTすることを検討しています。
POST /users/{id}/assets/{id}/service/{id}
{attribute1:"{var}", attribute2:"{var}"}
ただし、この場合、リソースパス/users/{id}/assets/{id}
はPOSTの前には存在せず、副作用として作成されます。
まだ存在しないリソースパスへのPOSTはまったく許可されていますか?
あなたの考えをありがとう、
ジェラール。