鍍金池/ 問答/Java  網(wǎng)絡(luò)安全  HTML/ 前后端分離的過程中前后端的責(zé)任劃分問題

前后端分離的過程中前后端的責(zé)任劃分問題



還有就是如果對于一個(gè)表在不同的地方需要不同的數(shù)據(jù),比如一個(gè)user表有姓名、性別、年齡、QQ等信息,有的時(shí)候需要姓名和性別,有的時(shí)候需要姓名和年齡,還有的時(shí)候需要QQ和年齡。那么我應(yīng)該怎么做,是將信息全部傳遞出去,需要哪些就用哪些,還是說只傳出需要的信息。

如果是只傳出需要的信息的話,用ResponseBody傳json數(shù)據(jù)該如何篩選信息呢。

不要說把不要的信息設(shè)置為null,然后判斷為null的話就不傳。有的時(shí)候就是需要向前端傳遞一個(gè)null

回答
編輯回答
墨小羽

1.后端的一個(gè)職責(zé)就是封裝好前端不應(yīng)該知道的東西
2.第一個(gè)情況一般是后端進(jìn)行處理
3.第二個(gè)問題一般視信息敏感程度,如果是一般信息,可能全部傳,由前端做顯示篩選(因?yàn)楹芸赡墚a(chǎn)品改一下某個(gè)字段又要顯示了)

2017年7月23日 11:53
編輯回答
巷尾

這里需要考慮數(shù)量大及請求頻繁的情況,特別在移動(dòng)網(wǎng)絡(luò)下更需要在意傳輸?shù)膬?nèi)容。
一般后端一個(gè)接口是代表一個(gè)單一功能,由后端把篩選規(guī)整后的數(shù)據(jù),按照分頁的形式response。大部分情況下,不要采用多次請求(或者看成是按照數(shù)據(jù)結(jié)構(gòu)來查詢),讓前端來告訴后端如何查詢數(shù)據(jù)庫。
segmentfault.com自身就是個(gè)很好的例子。
而另一點(diǎn),可以讓前端在請求參數(shù)中加上關(guān)鍵字,如:keywords:['name','sex','age' ]或keywords:['name','sex' ],在同一個(gè)接口下請求后,response時(shí)分別可以獲得由3個(gè)或2個(gè)關(guān)鍵字組成的數(shù)據(jù)JSON。

2017年1月13日 18:42