2
我目前正在爲具有三種類型的數據的應用程序創建一個API; Files
,Tags
和Persons
。這些都是常規聯繫的;一個File
有許多Tags
和Persons
連接到它。爲多對多關係構建RESTful API
問題是,我不知道如何使用RESTful API實際連接它們。 Persons
和Tags
對於File
是必不可少的,所以它們會自動返回,而不需要任何進一步的請求。
下面是我在看現在的Files
結構的一個例子:
GET /tags
GET /tags/:id
POST /tags
PUT /tags/:id
PATCH /tags/:id
而對於Persons
:
GET /files
GET /files/:id
POST /files
PUT /files/:id
PATCH /files/:id
而對於Tags
GET /persons
GET /persons/:id
POST /persons
PUT /persons/:id
PATCH /persons/:id
由於你可以看到,它們與intentio完全一樣使我的API易於記錄。但問題在於,對於多對多的關係,我不知道如何將給定的Tag
或Person
鏈接到File
。
我正在考慮這個:
POST /files/:id/tags
DELETE /files/:id/tags/:id
但似乎有點笨重。
什麼是我的情況的理想結構?
這實際上是一種很好的做法,但問題是我不確定如何取消鏈接單個項目。 – Forest
事實上,這種方法是不可能的,除非事先''獲取'File'資源,這樣你就可以獲得有關它與其他資源的關聯的信息。然後,即使感覺笨重,您的初始設計也更適合這種情況。 –
Damnit。我會仔細審視兩者,以及我正在研究的其他一些API,然後決定什麼效果最好。 – Forest