欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

resty更新header控制api版本數(shù)據(jù)源讀寫分離

 更新時(shí)間:2022年03月07日 12:14:45   作者:Dreampie  
這篇文章主要介紹了resty的1.2.0-SNAPSHOT版本更新,可以通過header控制api的版本實(shí)現(xiàn)數(shù)據(jù)源讀寫分離,有需要的朋友可以借鑒參考下,希望能夠有所幫助<BR>,

前言

Resty目前積累到450 star,還有1個(gè)多月滿一年了,在沒有推廣的情況下如果能積累到500 star,真是棒棒的,如果覺得不錯(cuò)可以給顆心(https://github.com/Dreampie/Resty),希望大家多多鼓勵(lì),也希望有心的同學(xué)參與維護(hù),開源說明它屬于大家,無論你使用或者作為一個(gè)框架的基礎(chǔ)學(xué)習(xí)還是從中得到靈感做出好用的東西 都希望你能和大家一起分享 開源希望大家互相幫助。

本次更新說大不大說小不小,主要解決一下對(duì)api的控制問題:

1.使用header來控制api版本

最初設(shè)計(jì)的api控制方式主要基于url的版本控制,更新時(shí)要么提供一個(gè)基礎(chǔ)的ApiResource,要么提供一個(gè)新的項(xiàng)目做為新版本接口,作為一個(gè)強(qiáng)迫癥一直對(duì)此功能心懷不滿。

我一直以來對(duì)團(tuán)隊(duì)要求都是只要更新沒有影響到整體返回的數(shù)據(jù)結(jié)構(gòu),是不允許升級(jí)接口的版本號(hào)的,兼容老版本非常重要,如果遇到重構(gòu)和結(jié)構(gòu)大規(guī)模變化,通過header來提供一個(gè)新的api并保留老api一段時(shí)間(我們?yōu)榭蛻舳颂峁┝藦?qiáng)制升級(jí)計(jì)劃,一旦啟動(dòng)客戶端必須升級(jí)到新版本),后續(xù)會(huì)把老的api清理掉,理論上一個(gè)api最多存在兩個(gè)版本,如果不是只能說明你設(shè)計(jì)的接口穩(wěn)定性較弱,自由可控對(duì)強(qiáng)迫癥來說非常重要,示例:

@GET(value?=?"/:get",?headers?=?{"Accept:?application/vnd.resty.v1+json"})
//使用:來分割key和value
??public?WebResult<List<User>>?get(String?get,?Date?x,?HttpResponse?response)?{
????throw?new?WebException(HttpStatus.NO_CONTENT,?"xxx");
??}

2.讀寫分離的數(shù)據(jù)源支持

簡(jiǎn)單配置不需要考慮太多,同時(shí)提醒:如果本次請(qǐng)求的事務(wù)范圍內(nèi)即有讀由有寫,會(huì)根據(jù)你的@Transaction注解的事務(wù)來使用連接,比如需要寫入庫(kù)的連接,那么讀取時(shí)也會(huì)使用寫入庫(kù)的連接,節(jié)省一次打開讀取庫(kù)連接的資源

//讀寫分離
????DruidDataSourceProvider?writeDsp?=?new?DruidDataSourceProvider("write");
????DruidDataSourceProvider?readDsp?=?new?DruidDataSourceProvider("read");
????ActiveRecordPlugin?activeRecordDdsp?=?new?ActiveRecordPlugin("readwrite",?writeDsp,?readDsp);
????activeRecordDdsp.addIncludePackages("cn.dreampie.resource");
????pluginLoader.add(activeRecordDdsp);

另外一直對(duì)使用java代碼的動(dòng)態(tài)代理實(shí)現(xiàn)的aop感覺不好,如果有人能提供基于aspectj的嵌入代碼來實(shí)現(xiàn)事務(wù)來提高代碼的優(yōu)化,那就非常感謝了,目前有個(gè)aspectj簡(jiǎn)單的例子:https://github.com/Dreampie/aspectj-demo

相關(guān)鏈接:

Resty 的詳細(xì)介紹:點(diǎn)擊查看

Resty 的下載地址:點(diǎn)擊下載

以上就是resty更新header控制api版本數(shù)據(jù)源讀寫分離的詳細(xì)內(nèi)容,更多關(guān)于header控制api數(shù)據(jù)源讀寫分離的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JAVA IDEA入門使用手冊(cè)(新手小白必備)

    JAVA IDEA入門使用手冊(cè)(新手小白必備)

    IDEA的每一個(gè)方面都是為了最大限度地提高開發(fā)人員的工作效率而設(shè)計(jì)的,本文主要介紹了JAVA IDEA入門使用手冊(cè),幫助新手更好的入門,感興趣的可以了解一下
    2021-05-05
  • unicode utf-8 gb18030 gb2312 gbk各種編碼對(duì)比

    unicode utf-8 gb18030 gb2312 gbk各種編碼對(duì)比

    在修改一個(gè)cms的過程當(dāng)中遇到一個(gè)php截取字符串的函數(shù)(當(dāng)然得兼容中英字符了),因?yàn)閷?duì)各種編碼的字符范圍和字符表示不清楚,感覺一頭迷霧,雖然可以直接來調(diào)用這個(gè)函數(shù)
    2009-05-05
  • 高級(jí)消息隊(duì)列協(xié)議AMQP簡(jiǎn)介

    高級(jí)消息隊(duì)列協(xié)議AMQP簡(jiǎn)介

    這篇文章簡(jiǎn)單介紹了高級(jí)消息隊(duì)列協(xié)議AMQP,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 在QQ群中接入ChatGPT機(jī)器人的操作方法

    在QQ群中接入ChatGPT機(jī)器人的操作方法

    這篇文章主要介紹了如何在QQ群中接入ChatGPT機(jī)器人,今天我們的分享主要圍繞著大部分用戶Windows電腦,基于nodejs,需要的朋友可以參考下
    2023-02-02
  • 將來會(huì)是Python、Java、Golang三足鼎立的局面嗎

    將來會(huì)是Python、Java、Golang三足鼎立的局面嗎

    python的優(yōu)勢(shì)在于數(shù)據(jù)處理和人工智能等方向,所以go只可能吞噬Java的份額,很難撼動(dòng)Python的奶酪,所以將來會(huì)是Python、Java、Golang三足鼎立的局面嗎
    2019-04-04
  • 如何利用FFmpeg合并音頻和視頻(多種方式)

    如何利用FFmpeg合并音頻和視頻(多種方式)

    這篇文章主要介紹了如何利用FFmpeg合并音頻和視頻,詳細(xì)介紹了FFmpeg 多個(gè)音頻合并的2種方法,通過場(chǎng)景分享介紹了FFmpeg合并視頻文件的4種方法,需要的朋友可以參考下
    2023-02-02
  • jenkins通過sshPut傳輸文件時(shí)報(bào)錯(cuò)Permission?denied的SftpException的問題及解決方案

    jenkins通過sshPut傳輸文件時(shí)報(bào)錯(cuò)Permission?denied的SftpException的問題及解決

    使用jenkins的ssh插件傳輸文件至遠(yuǎn)程機(jī)器的指定目錄,php程序打包后,經(jīng)過zip壓縮為oms.zip,這篇文章主要介紹了jenkins通過sshPut傳輸文件的時(shí)候,報(bào)錯(cuò)Permission?denied的SftpException,需要的朋友可以參考下
    2023-08-08
  • ChatGpt無法訪問或錯(cuò)誤碼1020的幾種解決方案

    ChatGpt無法訪問或錯(cuò)誤碼1020的幾種解決方案

    ChatGPT是一種語言模型,它被訓(xùn)練來對(duì)對(duì)話進(jìn)行建模,下面這篇文章主要給大家介紹了關(guān)于ChatGpt無法訪問或錯(cuò)誤碼1020的幾種解決方案,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 科學(xué)知識(shí):同步、異步、阻塞和非阻塞區(qū)別

    科學(xué)知識(shí):同步、異步、阻塞和非阻塞區(qū)別

    這篇文章主要介紹了科學(xué)知識(shí):同步、異步、阻塞和非阻塞區(qū)別,本文分別講解了這些概念,需要的朋友可以參考下
    2015-05-05
  • 10個(gè)調(diào)試和排錯(cuò)的小建議

    10個(gè)調(diào)試和排錯(cuò)的小建議

    幾乎沒有哪個(gè)程序員能夠?qū)懗鲆粋€(gè)bug都沒有的代碼,但是解決方法總是比困難多得多。多實(shí)踐和堅(jiān)毅的決心是成功的關(guān)鍵,這樣才能夠?qū)懗銮鍧嵈a,保證軟件系統(tǒng)的可靠性
    2014-03-03

最新評(píng)論