현재 기존 고객 데이터에 액세스 할 수있는 REST API를 설계하고 있습니다. API의 요소 중 하나는 사용자의 자산입니다. 주어진 서비스에 따라 자산이 추가됩니다. 백엔드 API는 지정된 서비스에서 사용자에게 자산 만 추가합니다. 따라서 User-Asset 관계는 없지만 User-[Service]-Asset 관계는 없습니다.
URI는 다음과 같습니다.
/users/{id}/assets/{id}/services/{id}
API를 사용하면 자산 ID 및 서비스 ID를 알고 새 항목을 작성합니다. 우리가 어려움을 겪고있는 것은이 관계의 창조입니다.
한 가지 간단한 방법은 전체 관계를 게시하는 것입니다. /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가 허용됩니까?
당신의 생각에 감사합니다
제라드