网页前端套java数据_【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?...
前端同事告訴我一個接口需要包含所有的數據,理由是多接口請求,前端邏輯會很復雜,同時如果移動網絡有問題的話,容易接口部分成功部分失敗,前端處理這些異常情況很費勁,我們使用restful接口,這樣的話感覺會不利于接口的設計,他的說法對么?原因是什么?什么是最佳實踐。
回答
需要你把模塊怎么劃分了。
比如有這樣一個數據
{
data1:obj1,
data2:obj2
}
很顯然如果應用是需要這兩個數據的,那沒毛病,一起拿過來最好。
但是,如果這份數據需要被用在多個環境,
比如
應用1 僅僅用到了 data1
應用2 僅僅用到了 data2
而應用3 同時用到這兩個數據
那么最好就是分開來獲取了,畢竟前端有 promise.all 嘛
數據合并起來也不是很麻煩
題主可以去了解下 promise 的實現,尤其是 .all 方法的使用
當然這僅僅是一小種情況,具體的還是需要看實際的項目
而且 restful 接口,數據分割在一定程度上越細越好
大體就是找類似下面的解決方案,思路如此,具體用哪個自己可以再找找。
說得有一定的道理,移動開發應該盡量減少接口的請求次數,否則實際開發中會比較繁瑣,因為每個接口要考慮異步請求的成功,失敗兩種情況,多次請求的話,這個組合就啰嗦了。。。
適合自己的才是最佳實踐
針對某些特定場景來進行優化也是常事吧
你需要的一個東西叫GraphQL
1.首先把前端要的數據分類
2.獲取數據的接口接受前端傳過來一個標記,根據標記來返回不同的數據,你只是做數據的加工就行了
之前我也是這么想的,后端的說服了我:你不覺得接口的解耦很重要嗎
如果你把后臺的數據以面向對象的思想定義為一個一個的資源的話,可以很好的定義和控制后臺接口返回的數據了。
當然也就知道一個后臺接口里面應該包含那些數據了。
總結
以上是生活随笔為你收集整理的网页前端套java数据_【java】网页/移动前端需要的数据,最好一个接口包含所有数据么?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pydroid3怎么保存_pydroid
- 下一篇: java什么数组能村浮点数_c脚本怎样把