SpringBoot 響應(yīng)數(shù)據(jù)

SpringBoot可以很方便地響應(yīng)數(shù)據(jù)。

內(nèi)容協(xié)商:

根據(jù)客戶(hù)端接收能力的不同,返回不同類(lèi)型的媒體數(shù)據(jù)。

1.響應(yīng)Json數(shù)據(jù)

在方法上加上@ResponseBody,便可以給前端返回json數(shù)據(jù)。如下:

2.響應(yīng)XML數(shù)據(jù)

1.首先要引入xml依賴(lài):

這時(shí)我們發(fā)現(xiàn)上一節(jié)返回的person變成了xml格式,這是因?yàn)榫W(wǎng)頁(yè)可接受類(lèi)型xml要優(yōu)先于json,因此當(dāng)我們引入xml依賴(lài),數(shù)據(jù)就響應(yīng)為xml格式。這就是內(nèi)容協(xié)商。

3.通過(guò)開(kāi)啟瀏覽器參數(shù)方式來(lái)自己決定響應(yīng)什么格式的數(shù)據(jù)

瀏覽器請(qǐng)求頭無(wú)法修改,那么我們?cè)趺醋约簺Q定想響應(yīng)什么樣的數(shù)據(jù)?

1.首先在核心配置文件application.yaml中開(kāi)啟基于請(qǐng)求參數(shù)的內(nèi)容協(xié)商功能,如下

2.在請(qǐng)求時(shí)帶上參數(shù)format,則可要求后端返回想要的數(shù)據(jù),比如我現(xiàn)在想要json數(shù)據(jù):

可見(jiàn)此時(shí)響應(yīng)的就是json數(shù)據(jù)

4.編寫(xiě)一個(gè)自定義的converter,可以響應(yīng)自定義的數(shù)據(jù)格式

比如我想向?yàn)g覽器響應(yīng)我自定義的數(shù)據(jù)格式:

1.自己寫(xiě)一個(gè)converter,實(shí)現(xiàn)HttpMessageConverter接口:

可以看到這個(gè)converter只支持Person類(lèi)型

2.在getSupportedMediaTypes方法中聲明此converter支持的文件格式。

3.在webconfig中將剛才寫(xiě)的類(lèi)GuiMessageConverter引入

5.自定義內(nèi)容協(xié)商策略

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容