1. 程式人生 > >後端說:只是你不懂怎麼用 headers!

後端說:只是你不懂怎麼用 headers!

事情是這樣的,上一個專案我們的後端提供的介面,一次性返回了所有資料給我,分頁功能是前端自己完成的。

那麼這次來的新專案,換了個後端,寫了另外的介面,我做專案的時候,還是用的之前的前端分頁元件,但是測試說前端的分頁沒有做?

於是乎,我就問後端,你返回給我的資料裡面沒有統計總數啊不能返回給我麼?

640?wx_fmt=png

這樣的回答沒毛病,畢竟全部一次性返回給我,sql 查詢是挺費事的,不過這只不不過是一個 demo 系統,演示給客戶看的,再說目前會有多少條資料,即便是百萬條資料,mysql 的查詢效能我想也不會很差,畢竟您不要做一下 sql 優化嗎?

640?wx_fmt=png

果然是高手,把分頁資料 存在 response.header 裡面了,順便多說一句,我們這個是前後端分離的專案,因為存在 cros 跨域,所以,我這邊獲取 response.headers 只能獲取以下的資料

640?wx_fmt=png

並不能完全獲取後端自定義的 response header 的所有資料,科普了一下原來是這樣的

640?wx_fmt=png

我問後端,你設定了嗎,後端說不用設定啊,說另外一個同事可以取(據我說知另外一個同事使用的 swagger)你用 swagger 同一個埠、域名,存在跨域嗎,我想問你?你還好意思讓我用 swagger 測試你的介面,那 tm 當然不會存在跨域問題,當然可以在 response.headers 裡面得到你的分頁資料

640?wx_fmt=png

你返回給我的是這樣的資料,讓我猜想一下,可能是用了統一的方法,你不好去改後端返回的資料,或則還是你比較懶。就 是不想把分頁資料,通過正常 respone.text 傳給我,還是你故意顯示你的技術牛逼!存在 header 裡面?

640?wx_fmt=png

呵呵,此時後端嘲諷我 『只是你不懂怎麼用 header』

640?wx_fmt=png

問我是 js 麼?我一個攻城獅,傳送 ajax 請求,你問我是 js 麼,還要教我,不好意思,這點尊嚴還是有的,既然你這麼懂 header,那麼我前端傳遞參,也把當前的頁碼,page 引數(後端需要的引數),存在 header 裡面

640?wx_fmt=png

其實本來應該放在 query string 裡面的,你既然喜歡在 response.headers 存總頁碼,那就別怨我在

request.headers 裡面給你傳遞 page,畢竟我不懂 header~~~

順便提一下,我存在 headers裡面了,我測試分頁,發現不管我點選哪個頁面,後端返回的總是第一頁的資料,那麼我敢斷定,後端取引數,肯定不是從 headers 裡面取的 page

本來easy 的事情,你非要搞這麼複雜,何必呢,跟我顯擺什麼呢。。。

=======================================================

今天又更新了,我們繼續看熱鬧

640?wx_fmt=png

說到這裡我就笑了,該後端說,他的 response.header 存放分頁 資料 是 response 的一部分。是正常操作

我前端 用 request.headers 傳遞 頁面 就是不符合 restful 規範了?

首先他說的這個 restful 規範,我就笑了,人家 restful 是一種風格而已,

退一步說,你後端傳 response.headers 就可以,我前端 就不行了,不符合規範了?我看是你取不到頁碼了吧!!!

導致你的 query 語句一直取的預設為第一頁的資料,辣雞!

640?wx_fmt=png

因為上個專案 是另外一個後端,做的也是一個 demo,一次性返回20多條資料給我,前端自己做的分頁

跟這個人合作,第一次,我就問能不能一次性全部給我,不行就拉倒。現在藉著這個話題跟我扯效能問題

請我一下現在做的這個 demo 就10幾條資料,你跟我談什麼效能?你確定你真的懂 sql 效能,

說我態度有問題,你介面文件上有跟我說分頁寫在了reponse.header 裡面?你介面文件上面有說要傳遞 page 引數麼?

swagger 上面就 tm 一個 請求,一個 type,又告訴前端傳遞正確引數麼?你返回的 response.headers 裡面的分頁資料又在哪裡?

640?wx_fmt=png640?wx_fmt=png

死豬不怕開水燙,文章一開始我就跟他說了如果後端設定了自定義的 response.headers,伺服器端要配置一下,

否則前端是拿不到的,還不行,你現在怎麼知道去設定了?你剛才不是 振振有詞說 為什麼別人可以你不可以嗎?

那你 tm 如果不按照我說的去配置,你 tm 取給我看看?

你自己說的話,是不是啪啪啪打臉?

640?wx_fmt=png

說了這麼多,你就是不願意把分頁放在 response .text 裡面是吧,堅持放 header 裡面是吧

640?wx_fmt=png

還什麼基於 yii 分頁序列化,分頁序列化跟你返回的資料格式有毛關係,你 tm 說白了,就是不想改返回的資料格式

你認為現在就這麼處理分頁是把,還是把分頁資料存 headers 裡面對把,

得了,那老子前端就給你傳 request.headers裡面 告訴你 page 就在那,你愛取不取,我 tm 就是有情緒了,咋啦,

你不是說我不懂 headers 麼,還 tm 要教我 js?呵呵。。。。。

作者:esbook

https://www.jianshu.com/p/86c92387351f

640?wx_fmt=png