我正在使用RESTful API,而我剛剛遇到了一個設計問題。 我搜索了一下,但是我找不到有關這個特定情況的任何信息。RESTful URL - 基於資源模板創建資源
我的API是用來買車票,所以我有兩種類型的資源:ticketTemplates和ticketPurchases。
首先創建票模板(定義可購票的類型,名稱,持續時間和價格),當有人購買票時(=在數據庫中添加ticketPurchases行),它將始終基於票模板ID。
有門票模板已經實現的途徑:/ticketTemplates
現在,我採取的路線,以購買基於票模板ID的票,所以這次買了票將繼承模板名稱,持續時間和價格。
我想到(POST)/ ticketTemplates/[templateId]/ticketPurchases要做到這一點。
但是,因爲我必須要能夠獨立檢索其模板ID的所有ticketPurchases(所以,通過不這樣做:(GET)/ ticketTemplates/[templateId]/ticketPurchases),唯一的解決方案,我看有:
- 創建:(POST)/ ticketTemplates/[templateId]/ticketPurchases
- 檢索:(GET)/ ticketPurchases
或
- 創建:(POST)/ ticketPurchases(和通過模板ID的請求的主體中)
- 檢索:(GET)/ ticketPurchases
哪一個最好,RESTfully說? 如果URLs與創建和檢索資源的方式不同,就好像我的第一個提議那樣嗎?
非常感謝您的幫助。
它是有道理的,但我不知道這是一個不錯的選擇,順其自然。感謝您的答覆 ! – Enzo