2017-06-16 105 views
0

我正在爲我的網站構建jsonapi,並且在查看我遇到的各種前端組件時 https://github.com/dixieio/redux-json-api/tree/master/docs 似乎直接從資源解析端點URL類型JSONAPI應該端點URL完全匹配資源的類型

它是規範/建議的一部分,使端點通過資源類型解決exactl問題?我記得閱讀評論說明沒有一個實際的type命名約定。

我的API有不同類型的用戶的註冊幾個端點

/registration/admin 
/registration/customer 
etc. 

這些終端有不同的業務邏輯關聯,但它們都返回一個user類型的對象。

  • 這是一個糟糕的設計,有幾個端點返回相同的資源type

  • 我應該在我的代碼中進行更改以引入其他類型,如registration/user

  • 或者我應該向庫提交一個補丁,以便它接受自定義端點URL?

回答

0

我不能專門討論你正在使用的框架,但你可以完全自由地選擇你的HTTP資源代表什麼。例如,如果客戶可以是公司並且具有相關的發票和銷售歷史記錄,但管理員只能是個人且無法進行交易,那麼您可以爲保持資源分離提供有力的理由。

你應該儘量避免的一件事是允許軟件的限制決定你的URI結構。如果我正在創建這個API,並且已經決定客戶和管理員是不同類型的對象,那麼我會將註冊表單資源存放在/ admins/new和/ customers/new中,這些資源將向/管理員收集資源發出POST請求和/客戶。我根本沒有註冊*。

爲了解決您的invividual問題:

  1. 我不明白你說「返回資源型」的意思 - 你談論在響應中返回的陳述,或如何後端函數創建並返回一個類的實例?

  2. 我不會爲所有類型的用戶添加額外的超類型。每種類型都有一個集合,或者每個類型都有一個集合。

  3. 如果考慮到所有你想要的上方,選擇的URI後,你的軟件不能處理您所選擇的結構,有三個選項:
    我)選擇更強大的軟件
    II)創建的映射傳入您的軟件的URI和URI。 Apache的mod_rewrite的可以做到這一點,你
    三)按照你的建議,讓你已經在使用更強大的

選擇最簡單的選擇的軟件。