日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 前端技术 > javascript >内容正文

javascript

Spring Boot 中的 RestTemplate 不好用?试试 Retrofit!

發(fā)布時(shí)間:2025/3/21 javascript 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Boot 中的 RestTemplate 不好用?试试 Retrofit! 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家都知道okhttp是一款由square公司開(kāi)源的java版本http客戶端工具。實(shí)際上,square公司還開(kāi)源了基于okhttp進(jìn)一步封裝的retrofit工具,用來(lái)支持通過(guò)接口的方式發(fā)起http請(qǐng)求?。如果你的項(xiàng)目中還在直接使用RestTemplate或者okhttp,或者基于它們封裝的HttpUtils,那么你可以嘗試使用Retrofit?。

retrofit-spring-boot-starter實(shí)現(xiàn)了Retrofit與spring-boot框架快速整合,并且支持了部分功能增強(qiáng),從而極大的簡(jiǎn)化spring-boot項(xiàng)目下http接口調(diào)用開(kāi)發(fā)?。接下來(lái)我們直接通過(guò)retrofit-spring-boot-starter,來(lái)看看spring-boot項(xiàng)目發(fā)送http請(qǐng)求有多簡(jiǎn)單。

retrofit官方并沒(méi)有提供與spring-boot快速整合的starter。retrofit-spring-boot-starter是筆者封裝的,已在生產(chǎn)環(huán)境使用,非常穩(wěn)定。造輪子不易,跪求各位大佬star?。

項(xiàng)目源碼:retrofit-spring-boot-starter

引入依賴

<dependency><groupId>com.github.lianjiatech</groupId><artifactId>retrofit-spring-boot-starter</artifactId><version>2.0.2</version> </dependency> “

推薦一個(gè)艿艿寫的 6000+ Star 的 SpringBoot + SpringCloud + Dubbo 教程的倉(cāng)庫(kù):https://github.com/YunaiV/SpringBoot-Labs

配置@RetrofitScan注解

你可以給帶有?@Configuration?的類配置@RetrofitScan,或者直接配置到spring-boot的啟動(dòng)類上,如下:

@SpringBootApplication @RetrofitScan("com.github.lianjiatech.retrofit.spring.boot.test") public?class?RetrofitTestApplication?{public?static?void?main(String[]?args)?{SpringApplication.run(RetrofitTestApplication.class,?args);} } “

推薦一個(gè)艿艿寫的 3000+ Star 的 SpringCloud Alibaba 電商開(kāi)源項(xiàng)目的倉(cāng)庫(kù):https://github.com/YunaiV/onemall

定義http接口

接口必須使用@RetrofitClient注解標(biāo)記?!http相關(guān)注解可參考官方文檔:retrofit官方文檔。

@RetrofitClient(baseUrl?=?"${test.baseUrl}") public?interface?HttpApi?{@GET("person")Result<Person>?getPerson(@Query("id")?Long?id); }

注入使用

將接口注入到其它Service中即可使用?。

@Service public?class?TestService?{@Autowiredprivate?HttpApi?httpApi;public?void?test()?{//?通過(guò)httpApi發(fā)起http請(qǐng)求} }

只要通過(guò)上述幾個(gè)步驟,就能實(shí)現(xiàn)通過(guò)接口發(fā)送http請(qǐng)求了,真的很簡(jiǎn)單。如果你在spring-boot項(xiàng)目里面使用過(guò)mybatis,相信你對(duì)這種使用方式會(huì)更加熟悉。接下來(lái)我們繼續(xù)介紹一下retrofit-spring-boot-starter更高級(jí)一點(diǎn)的功能。

注解式攔截器

很多時(shí)候,我們希望某個(gè)接口下的某些http請(qǐng)求執(zhí)行統(tǒng)一的攔截處理邏輯。這個(gè)時(shí)候可以使用注解式攔截器?。使用的步驟主要分為2步:

  • 繼承BasePathMatchInterceptor編寫攔截處理器;

  • 接口上使用@Intercept進(jìn)行標(biāo)注。

  • 下面以給指定請(qǐng)求的url后面拼接timestamp時(shí)間戳為例,介紹下如何使用注解式攔截器。

    繼承BasePathMatchInterceptor編寫攔截處理器

    @Component public?class?TimeStampInterceptor?extends?BasePathMatchInterceptor?{@Overridepublic?Response?doIntercept(Chain?chain)?throws?IOException?{Request?request?=?chain.request();HttpUrl?url?=?request.url();long?timestamp?=?System.currentTimeMillis();HttpUrl?newUrl?=?url.newBuilder().addQueryParameter("timestamp",?String.valueOf(timestamp)).build();Request?newRequest?=?request.newBuilder().url(newUrl).build();return?chain.proceed(newRequest);} }

    接口上使用@Intercept進(jìn)行標(biāo)注

    @RetrofitClient(baseUrl?=?"${test.baseUrl}") @Intercept(handler?=?TimeStampInterceptor.class,?include?=?{"/api/**"},?exclude?=?"/api/test/savePerson") public?interface?HttpApi?{@GET("person")Result<Person>?getPerson(@Query("id")?Long?id);@POST("savePerson")Result<Person>?savePerson(@Body?Person?person); }

    上面的@Intercept配置表示:攔截HttpApi接口下/api/**路徑下(排除/api/test/savePerson)的請(qǐng)求,攔截處理器使用TimeStampInterceptor。

    擴(kuò)展注解式攔截器

    有的時(shí)候,我們需要在攔截注解?動(dòng)態(tài)傳入一些參數(shù),然后再執(zhí)行攔截的時(shí)候需要使用這個(gè)參數(shù)。這種時(shí)候,我們可以擴(kuò)展實(shí)現(xiàn)自定義攔截注解?。自定義攔截注解必須使用@InterceptMark標(biāo)記,并且注解中必須包括include()、exclude()、handler()屬性信息?。使用的步驟主要分為3步:

  • 自定義攔截注解

  • 繼承BasePathMatchInterceptor編寫攔截處理器

  • 接口上使用自定義攔截注解;

  • 例如我們需要在請(qǐng)求頭里面動(dòng)態(tài)加入accessKeyId、accessKeySecret簽名信息才能正常發(fā)起http請(qǐng)求?,這個(gè)時(shí)候可以自定義一個(gè)加簽攔截器注解@Sign?來(lái)實(shí)現(xiàn)。下面以自定義@Sign攔截注解為例進(jìn)行說(shuō)明。

    自定義@Sign注解

    @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) @Documented @InterceptMark public?@interface?Sign?{/***?密鑰key*?支持占位符形式配置。**?@return*/String?accessKeyId();/***?密鑰*?支持占位符形式配置。**?@return*/String?accessKeySecret();/***?攔截器匹配路徑**?@return*/String[]?include()?default?{"/**"};/***?攔截器排除匹配,排除指定路徑攔截**?@return*/String[]?exclude()?default?{};/***?處理該注解的攔截器類*?優(yōu)先從spring容器獲取對(duì)應(yīng)的Bean,如果獲取不到,則使用反射創(chuàng)建一個(gè)!**?@return*/Class<??extends?BasePathMatchInterceptor>?handler()?default?SignInterceptor.class; }

    擴(kuò)展自定義攔截注解有以下2點(diǎn)需要注意:

  • 自定義攔截注解必須使用@InterceptMark標(biāo)記。

  • 注解中必須包括include()、exclude()、handler()屬性信息。

  • 實(shí)現(xiàn)SignInterceptor

    @Component public?class?SignInterceptor?extends?BasePathMatchInterceptor?{private?String?accessKeyId;private?String?accessKeySecret;public?void?setAccessKeyId(String?accessKeyId)?{this.accessKeyId?=?accessKeyId;}public?void?setAccessKeySecret(String?accessKeySecret)?{this.accessKeySecret?=?accessKeySecret;}@Overridepublic?Response?doIntercept(Chain?chain)?throws?IOException?{Request?request?=?chain.request();Request?newReq?=?request.newBuilder().addHeader("accessKeyId",?accessKeyId).addHeader("accessKeySecret",?accessKeySecret).build();return?chain.proceed(newReq);} }

    上述accessKeyId和accessKeySecret字段值會(huì)依據(jù)@Sign注解的accessKeyId()和accessKeySecret()值自動(dòng)注入,如果@Sign指定的是占位符形式的字符串,則會(huì)取配置屬性值進(jìn)行注入?。另外,accessKeyId和accessKeySecret字段必須提供setter方法?。

    接口上使用@Sign

    @RetrofitClient(baseUrl?=?"${test.baseUrl}") @Sign(accessKeyId?=?"${test.accessKeyId}",?accessKeySecret?=?"${test.accessKeySecret}",?exclude?=?{"/api/test/person"}) public?interface?HttpApi?{@GET("person")Result<Person>?getPerson(@Query("id")?Long?id);@POST("savePerson")Result<Person>?savePerson(@Body?Person?person); }

    這樣就能在指定url的請(qǐng)求上,自動(dòng)加上簽名信息了。

    連接池管理

    默認(rèn)情況下,所有通過(guò)Retrofit發(fā)送的http請(qǐng)求都會(huì)使用max-idle-connections=5 keep-alive-second=300的默認(rèn)連接池。當(dāng)然,我們也可以在配置文件中配置多個(gè)自定義的連接池,然后通過(guò)@RetrofitClient的poolName屬性來(lái)指定使用。比如我們要讓某個(gè)接口下的請(qǐng)求全部使用poolName=test1的連接池,代碼實(shí)現(xiàn)如下:

  • 配置連接池。

    retrofit:#?連接池配置pool:test1:max-idle-connections:?3keep-alive-second:?100test2:max-idle-connections:?5keep-alive-second:?50
  • 通過(guò)@RetrofitClient的poolName屬性來(lái)指定使用的連接池。

    @RetrofitClient(baseUrl?=?"${test.baseUrl}",?poolName="test1") public?interface?HttpApi?{@GET("person")Result<Person>?getPerson(@Query("id")?Long?id); }
  • 日志打印

    很多情況下,我們希望將http請(qǐng)求日志記錄下來(lái)。通過(guò)@RetrofitClient的logLevel和logStrategy屬性,您可以指定每個(gè)接口的日志打印級(jí)別以及日志打印策略。retrofit-spring-boot-starter支持了5種日志打印級(jí)別(ERROR,?WARN,?INFO,?DEBUG,?TRACE),默認(rèn)INFO;支持了4種日志打印策略(NONE,?BASIC,?HEADERS,?BODY),默認(rèn)BASIC。4種日志打印策略含義如下:

  • NONE:No logs.

  • BASIC:Logs request and response lines.

  • HEADERS:Logs request and response lines and their respective headers.

  • BODY:Logs request and response lines and their respective headers and bodies (if present).

  • retrofit-spring-boot-starter默認(rèn)使用了DefaultLoggingInterceptor執(zhí)行真正的日志打印功能,其底層就是okhttp原生的HttpLoggingInterceptor。當(dāng)然,你也可以自定義實(shí)現(xiàn)自己的日志打印攔截器,只需要繼承BaseLoggingInterceptor(具體可以參考DefaultLoggingInterceptor的實(shí)現(xiàn)),然后在配置文件中進(jìn)行相關(guān)配置即可。

    retrofit:#?日志打印攔截器logging-interceptor:?com.github.lianjiatech.retrofit.spring.boot.interceptor.DefaultLoggingInterceptor

    Http異常信息格式化器

    當(dāng)出現(xiàn)http請(qǐng)求異常時(shí),原始的異常信息可能閱讀起來(lái)并不友好,因此retrofit-spring-boot-starter提供了Http異常信息格式化器,用來(lái)美化輸出http請(qǐng)求參數(shù),默認(rèn)使用DefaultHttpExceptionMessageFormatter進(jìn)行請(qǐng)求數(shù)據(jù)格式化。你也可以進(jìn)行自定義,只需要繼承BaseHttpExceptionMessageFormatter,再進(jìn)行相關(guān)配置即可。

    retrofit:#?Http異常信息格式化器http-exception-message-formatter:?com.github.lianjiatech.retrofit.spring.boot.interceptor.DefaultHttpExceptionMessageFormatter

    調(diào)用適配器 CallAdapter

    Retrofit可以通過(guò)調(diào)用適配器CallAdapterFactory將Call<T>對(duì)象適配成接口方法的返回值類型。retrofit-spring-boot-starter擴(kuò)展2種CallAdapterFactory實(shí)現(xiàn):

  • BodyCallAdapterFactory
    • 默認(rèn)啟用,可通過(guò)配置retrofit.enable-body-call-adapter=false關(guān)閉

    • 同步執(zhí)行http請(qǐng)求,將響應(yīng)體內(nèi)容適配成接口方法的返回值類型實(shí)例。

    • 除了Retrofit.Call<T>、Retrofit.Response<T>、java.util.concurrent.CompletableFuture<T>之外,其它返回類型都可以使用該適配器。

  • ResponseCallAdapterFactory
    • 默認(rèn)啟用,可通過(guò)配置retrofit.enable-response-call-adapter=false關(guān)閉

    • 同步執(zhí)行http請(qǐng)求,將響應(yīng)體內(nèi)容適配成Retrofit.Response<T>返回。

    • 如果方法的返回值類型為Retrofit.Response<T>,則可以使用該適配器。

  • Retrofit自動(dòng)根據(jù)方法返回值類型選用對(duì)應(yīng)的CallAdapterFactory執(zhí)行適配處理!加上Retrofit默認(rèn)的CallAdapterFactory,可支持多種形式的方法返回值類型:

    • Call<T>: 不執(zhí)行適配處理,直接返回Call<T>對(duì)象

    • CompletableFuture<T>: 將響應(yīng)體內(nèi)容適配成CompletableFuture<T>對(duì)象返回

    • Void: 不關(guān)注返回類型可以使用Void。如果http狀態(tài)碼不是2xx,直接拋錯(cuò)!

    • Response<T>: 將響應(yīng)內(nèi)容適配成Response<T>對(duì)象返回

    • 其他任意Java類型:將響應(yīng)體內(nèi)容適配成一個(gè)對(duì)應(yīng)的Java類型對(duì)象返回,如果http狀態(tài)碼不是2xx,直接拋錯(cuò)!

    ????/***?Call<T>*?不執(zhí)行適配處理,直接返回Call<T>對(duì)象*?@param?id*?@return*/@GET("person")Call<Result<Person>>?getPersonCall(@Query("id")?Long?id);/***??CompletableFuture<T>*??將響應(yīng)體內(nèi)容適配成CompletableFuture<T>對(duì)象返回*?@param?id*?@return*/@GET("person")CompletableFuture<Result<Person>>?getPersonCompletableFuture(@Query("id")?Long?id);/***?Void*?不關(guān)注返回類型可以使用Void。如果http狀態(tài)碼不是2xx,直接拋錯(cuò)!*?@param?id*?@return*/@GET("person")Void?getPersonVoid(@Query("id")?Long?id);/***??Response<T>*??將響應(yīng)內(nèi)容適配成Response<T>對(duì)象返回*?@param?id*?@return*/@GET("person")Response<Result<Person>>?getPersonResponse(@Query("id")?Long?id);/***?其他任意Java類型*?將響應(yīng)體內(nèi)容適配成一個(gè)對(duì)應(yīng)的Java類型對(duì)象返回,如果http狀態(tài)碼不是2xx,直接拋錯(cuò)!*?@param?id*?@return*/@GET("person")Result<Person>?getPerson(@Query("id")?Long?id);

    我們也可以通過(guò)繼承CallAdapter.Factory擴(kuò)展實(shí)現(xiàn)自己的CallAdapter?;然后將自定義的CallAdapterFactory配置成spring的bean!

    自定義配置的CallAdapter.Factory優(yōu)先級(jí)更高!

    數(shù)據(jù)轉(zhuǎn)碼器 Converter

    Retrofi使用Converter將@Body注解標(biāo)注的對(duì)象轉(zhuǎn)換成請(qǐng)求體,將響應(yīng)體數(shù)據(jù)轉(zhuǎn)換成一個(gè)Java對(duì)象,可以選用以下幾種Converter:

    • Gson: com.squareup.Retrofit:converter-gson

    • Jackson: com.squareup.Retrofit:converter-jackson

    • Moshi: com.squareup.Retrofit:converter-moshi

    • Protobuf: com.squareup.Retrofit:converter-protobuf

    • Wire: com.squareup.Retrofit:converter-wire

    • Simple XML: com.squareup.Retrofit:converter-simplexml

    retrofit-spring-boot-starter默認(rèn)使用的是jackson進(jìn)行序列化轉(zhuǎn)換!如果需要使用其它序列化方式,在項(xiàng)目中引入對(duì)應(yīng)的依賴,再把對(duì)應(yīng)的ConverterFactory配置成spring的bean即可?。

    我們也可以通過(guò)繼承Converter.Factory擴(kuò)展實(shí)現(xiàn)自己的Converter?;然后將自定義的Converter.Factory配置成spring的bean!

    自定義配置的Converter.Factory優(yōu)先級(jí)更高!

    全局?jǐn)r截器 BaseGlobalInterceptor

    如果我們需要對(duì)整個(gè)系統(tǒng)的的http請(qǐng)求執(zhí)行統(tǒng)一的攔截處理,可以自定義實(shí)現(xiàn)全局?jǐn)r截器BaseGlobalInterceptor, 并配置成spring中的bean!例如我們需要在整個(gè)系統(tǒng)發(fā)起的http請(qǐng)求,都帶上來(lái)源信息。

    @Component public?class?SourceInterceptor?extends?BaseGlobalInterceptor?{@Overridepublic?Response?doIntercept(Chain?chain)?throws?IOException?{Request?request?=?chain.request();Request?newReq?=?request.newBuilder().addHeader("source",?"test").build();return?chain.proceed(newReq);} }

    結(jié)語(yǔ)

    至此,spring-boot項(xiàng)目下最優(yōu)雅的http客戶端工具介紹就結(jié)束了,更多詳細(xì)信息可以參考官方文檔:retrofit以及retrofit-spring-boot-starter。實(shí)現(xiàn)原理解讀可查看基于Retrofit實(shí)現(xiàn)自己的輕量級(jí)http調(diào)用工具。

    總結(jié)

    以上是生活随笔為你收集整理的Spring Boot 中的 RestTemplate 不好用?试试 Retrofit!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    亚洲精品99久久久久中文字幕 | 免费的黄色的网站 | 日韩精品一区二区免费 | 麻豆视传媒官网免费观看 | 亚洲色图美腿丝袜 | 国产一级视频在线免费观看 | 91精品久久久久久久99蜜桃 | 一区二区三区国 | 亚洲精品国产视频 | 成人资源站 | 国产一区二区精品久久91 | 91精品一区国产高清在线gif | 国产免费视频一区二区裸体 | 在线成人免费电影 | 波多野结衣电影久久 | 在线观看黄色大片 | 免费在线电影网址大全 | 久久大片| 中文字幕123区 | 国产一级视频在线观看 | 日韩va欧美va亚洲va久久 | 国产精品99久久99久久久二8 | 国产剧情一区二区 | 亚洲免费色 | 欧美另类xxxxx | 亚洲成a人片在线观看中文 中文字幕在线视频第一页 狠狠色丁香婷婷综合 | 91色视频| 91丨porny丨九色| 天天插日日射 | 干干干操操操 | 又紧又大又爽精品一区二区 | 亚洲欧美色婷婷 | 久久久久久激情 | 国产资源在线观看 | 亚洲欧美日韩一二三区 | 国产三级精品三级在线观看 | 天天做天天爱天天综合网 | 久久天堂亚洲 | 97国产 | 国产精品久久久久9999 | 久草在线在线视频 | 国产在线精 | 国产香蕉97碰碰碰视频在线观看 | ,久久福利影视 | 五月综合激情网 | 午夜久久影视 | 天天色天天色天天色 | 久久久精品亚洲 | 中文字幕亚洲高清 | 天天干天天做天天爱 | 国产一区久久 | 麻豆精品国产传媒 | 在线观看国产 | 久久综合狠狠综合久久狠狠色综合 | 国产福利av | 免费成人黄色av | 激情中文字幕 | 一级淫片a| 在线观看日韩精品视频 | 亚洲精品毛片一级91精品 | 亚洲91精品 | 91麻豆精品国产自产在线游戏 | 在线中文字幕一区二区 | 色婷av | 久久视频网 | 一区二区三区日韩精品 | 在线导航福利 | 97国产精品亚洲精品 | 国产精品久久久久久久电影 | 91在线一区 | 97电影院网 | 日韩在线播放欧美字幕 | 99色视频| 国产黄色特级片 | 久 久久影院| 伊人小视频 | 亚洲干| 午夜精品在线看 | 色999精品 | av动图| 欧美精品黑人性xxxx | 99视频播放 | 婷婷丁香激情综合 | 免费在线看成人av | 成人精品国产免费网站 | 中文字幕一区二区三区久久蜜桃 | 久久tv | 九九免费在线观看 | 中文字幕在线观看视频网站 | 色多多在线观看 | 九九亚洲视频 | 蜜桃视频成人在线观看 | 日韩精品短视频 | 亚洲免费国产 | 欧美大片在线观看一区 | 91传媒91久久久 | 91麻豆网 | 在线观看亚洲视频 | 欧美日韩3p | 国产黄色av | 免费在线观看91 | 97人人模人人爽人人喊中文字 | 成人av中文字幕 | 国产精品黄 | 91免费网址 | 亚洲丁香日韩 | 久久久精品欧美一区二区免费 | 丁香婷婷色月天 | 99久久精品国产网站 | 欧美日韩免费网站 | 伊人久久国产精品 | 亚洲精品日韩一区二区电影 | 国产亚洲日 | 日本成人a | 日韩欧美亚洲 | 天天激情| 久久久五月婷婷 | 在线观看中文字幕dvd播放 | 一级c片 | 在线观看91网站 | av在线免费在线观看 | 久久亚洲综合色 | 激情视频免费观看 | 久久久综合九色合综国产精品 | 久久激情婷婷 | 精品免费久久久久久 | 日韩艹 | 日韩欧美精品在线观看视频 | 热久精品 | 亚洲综合小说电影qvod | 992tv在线成人免费观看 | 亚洲一区 av | 久久精品国产精品亚洲精品 | 香蕉在线视频观看 | 五月婷婷开心 | 久久精品美女视频网站 | 91精品少妇偷拍99 | 国产精品剧情 | 一区在线观看 | 亚洲成人精品在线观看 | 亚洲欧洲视频 | 国产经典av | 人人爽人人爽人人爽 | 成人亚洲综合 | 亚洲一区二区三区毛片 | 国产免费中文字幕 | 狠狠躁夜夜躁人人爽视频 | 国产精品成人av久久 | 日韩在线视频线视频免费网站 | 国产精选视频 | 99久久超碰中文字幕伊人 | 天天干天天操天天入 | 在线免费观看视频一区二区三区 | 一区二区三区在线观看免费视频 | 九九九视频在线 | 99人成在线观看视频 | 99热精品免费观看 | 精品国产一区二区三区四区在线观看 | 国产精品一区二区三区观看 | 亚洲精品国产精品国自 | 一区二区三区免费网站 | 久久久www成人免费精品张筱雨 | 精品国产一区二 | 久草在线中文888 | 欧美精品久久 | 夜夜狠狠| 中文字幕第一页av | 九九三级毛片 | 中文字幕欧美日韩va免费视频 | 黄网站免费看 | 国产精品久久一 | 国内久久看 | 中文字幕激情 | 在线免费日韩 | 日韩av在线免费播放 | 二区三区中文字幕 | 国产亚洲精品免费 | 日韩久久久久久久久 | 在线看一区二区 | 欧美 日韩 性 | 欧美精品色 | 天天插伊人 | 欧美日韩破处 | 色全色在线资源网 | 久久精品视频中文字幕 | 亚洲精品合集 | 国产成人精品一区二区三区免费 | 欧美午夜精品久久久久 | 国产黄色免费观看 | 国产欧美最新羞羞视频在线观看 | 91中文字幕网 | 青青河边草免费观看完整版高清 | 日韩爱爱网站 | 五月婷婷播播 | 国内视频1区| 在线视频日韩精品 | 色播亚洲婷婷 | www夜夜操 | 三上悠亚一区二区在线观看 | 日韩在线不卡 | 婷婷久久丁香 | 久草在线免| 日韩欧美精品在线 | 国产精品成人一区二区三区吃奶 | 99热在线观看 | 亚洲最大免费成人网 | 又湿又紧又大又爽a视频国产 | 9999亚洲| 久久综合九色九九 | 人人要人人澡人人爽人人dvd | 亚洲国产一二三 | 97av在线视频免费播放 | 国产91勾搭技师精品 | 国产精品一区在线 | 国产精品高清在线 | 天天碰天天操 | 在线看片中文字幕 | 亚洲在线高清 | 国产视频精品视频 | 国产一级做a爱片久久毛片a | 亚洲片在线资源 | 久久精品草 | 亚洲精品乱码久久久一二三 | 国产高清视频在线播放一区 | 天天操天天拍 | 国产在线一区二区 | 国产电影一区二区三区四区 | 日批视频在线播放 | 天堂av在线中文在线 | 日韩精品一区二区三区在线播放 | 中文字幕国内精品 | 深爱婷婷久久综合 | 久久久久久久久久久影院 | 99在线视频精品 | 中文字幕在线专区 | 精品国模一区二区 | 丝袜制服综合网 | 免费视频二区 | 国产视频美女 | 亚洲免费精彩视频 | 丁香久久综合 | 99久国产 | 日韩有码中文字幕在线 | 国产 日韩 在线 亚洲 字幕 中文 | 国产精品 久久 | 久久国产精品成人免费浪潮 | 免费在线看成人av | 中文字幕视频三区 | 99精品在线免费视频 | 日日插日日干 | 麻豆精品在线 | 在线观看av免费观看 | 天天色天天色天天色 | 97色婷婷成人综合在线观看 | 精品久久久网 | 国产精品网红直播 | 国内精品免费久久影院 | 91亚洲永久精品 | 国产品久精国精产拍 | 天天躁日日躁狠狠躁av中文 | 中文字幕av日韩 | 亚洲精品欧洲精品 | 亚洲精品视频第一页 | 欧美一级特黄aaaaaa大片在线观看 | 久久久久久久久影视 | 激情网站免费观看 | 制服丝袜亚洲 | 精品视频久久久 | 99久久精品免费 | 91最新视频在线观看 | 天天天天天操 | 91色一区二区三区 | 黄色片免费电影 | 日韩三级成人 | 少妇18xxxx性xxxx片 | 91视频大全| 久久优 | 日韩免费 | 一级片视频在线 | 色99视频 | 在线观看视频h | 人人射人人插 | 韩国一区二区在线观看 | 波多野结衣在线视频免费观看 | 午夜18视频在线观看 | 99夜色| 麻豆91精品91久久久 | 久久综合亚洲鲁鲁五月久久 | 日韩中文字幕在线看 | 一区二区三区精品在线视频 | 九色精品| 97激情影院 | 亚洲综合导航 | 激情图片qvod | 国产精品一区二区三区免费视频 | 亚洲黄在线观看 | 午夜国产一区二区 | av一级二级 | 在线视频区 | 免费午夜网站 | 欧美特一级 | 在线观看一区二区精品 | 一区二区三区在线观看免费 | 久久久国产一区二区 | 天天色天天色天天色 | 91插插视频| aⅴ精品av导航 | 国产另类av | 国内精品久久久久影院日本资源 | av福利第一导航 | 亚洲成av | 国产精品成 | freejavvideo日本免费 | 99热这里有 | 色中色综合 | 九九热久久久 | 国产理伦在线 | 日韩,精品电影 | 麻豆视频大全 | 午夜视频在线观看网站 | 国产视频欧美视频 | 91九色蝌蚪视频在线 | 射久久久| 欧美日韩一区二区三区免费视频 | 国产亚洲在线观看 | 亚洲欧洲精品久久 | 91大神精品视频在线观看 | 五月香视频在线观看 | 一区二区三区播放 | 免费久久久 | 免费一级片久久 | 特级aaa毛片 | 一级黄色大片在线观看 | 黄色三级在线看 | 亚洲精品久久久久久久蜜桃 | 国产精品 999 | 久久国产精品99久久久久 | 97精品超碰一区二区三区 | 亚洲一区精品二人人爽久久 | 91在线观看欧美日韩 | 国内精品久久久久久久久久 | 久久av伊人| 亚洲精品乱码久久久久久写真 | 久久综合综合久久综合 | 92国产精品久久久久首页 | 91精选| 国产中文在线视频 | 国产免费不卡av | 国产精品18久久久久久vr | 成人av网站在线观看 | 91手机电视 | 在线观看黄av| 黄色免费av | 国产最新91| 国产精品视频免费在线观看 | 久草资源免费 | a级国产乱理论片在线观看 特级毛片在线观看 | 黄色三级免费片 | 99精品免费在线 | 午夜在线免费观看 | 日韩欧美视频 | 免费三及片 | 91久久精品一区二区二区 | 我要看黄色一级片 | 精品国产色 | 国产视频久久久久 | 91探花视频 | 手机在线看永久av片免费 | 国产一区二区三区在线 | 亚洲一区二区三区毛片 | 国产精品久久久久久超碰 | 人人澡人人草 | 成人午夜电影在线观看 | 婷婷丁香在线 | 成年人在线免费看 | 午夜精品久久久久久久99热影院 | 色婷婷九月 | 久久激情视频 久久 | 久久久久欧美精品999 | av无限看 | 91传媒在线 | 久久精品xxx| 又黄又刺激视频 | 亚洲成人黄色在线观看 | 国产女教师精品久久av | 久久99热久久99精品 | 国产 欧美 在线 | 狠狠色狠狠色综合系列 | 日韩在线观看视频一区二区三区 | 色婷婷综合在线 | 国产99色| 岛国av在线不卡 | av在线免费在线观看 | 国产精品久久99精品毛片三a | 国产精品欧美精品 | 亚洲激精日韩激精欧美精品 | 久久久 激情 | 色综合天天在线 | 成人久久久久久久久久 | 天天天天天天天天操 | 女人魂免费观看 | 91刺激视频 | 韩国精品一区二区三区六区色诱 | 99精品一级欧美片免费播放 | 国产精品初高中精品久久 | 97电影手机版 | 久草在线国产 | 欧美日韩一区二区三区在线免费观看 | 精品国产欧美一区二区三区不卡 | 成人资源站 | 久久久精品成人 | 国产成人l区 | 最近中文字幕免费 | 日本乱码在线 | 黄色网在线播放 | 91豆花在线观看 | 免费在线成人av | 99精品国产视频 | 日本精品久久久一区二区三区 | 99av在线视频 | 欧美日韩裸体免费视频 | 国产精品毛片久久久久久久久久99999999 | www视频免费在线观看 | 久久xxxx| 成人一区二区三区在线观看 | 亚洲一级二级 | 久久精品国产免费 | 欧美久久精品 | avhd高清在线谜片 | 亚洲国产中文字幕 | 亚洲美女精品 | 成人小电影在线看 | 九九有精品 | 美女久久99 | 午夜精品视频在线 | 九九热国产视频 | 久久久久久久久久久电影 | 91传媒在线看 | 亚洲天天综合 | 狠狠的操狠狠的干 | 中文字幕国产在线 | 国产黄在线免费观看 | 久久欧美综合 | 欧美精品小视频 | 色综合天天视频在线观看 | 久久久久免费网 | 国产字幕在线观看 | 欧美一区二区伦理片 | 国产中出在线观看 | 国产一区播放 | 久久久久成人精品 | 狠狠色噜噜狠狠 | 美女视频久久久 | 精品一区二三区 | 四虎国产精品永久在线国在线 | 亚洲一区二区三区四区在线视频 | 国产黄色精品在线 | 激情自拍av | 欧美日韩综合在线 | 激情视频免费观看 | 国产精品毛片一区二区在线看 | 日韩特级黄色片 | 在线观看成人福利 | 国产一区免费视频 | 亚洲国产影院av久久久久 | 国产亚洲精品福利 | 91色偷偷 | 在线观看日本高清mv视频 | 97视频在线看 | 国产精品99久久久精品免费观看 | 国产护士av | 亚洲国产欧美在线人成大黄瓜 | www五月 | 超碰av在线免费观看 | 日日夜夜狠狠干 | 免费黄色av | 日日夜夜狠狠干 | 一区二区精品国产 | 中文字幕 第二区 | 粉嫩av一区二区三区免费 | av在线免费不卡 | 91精品视频在线观看免费 | 在线视频欧美精品 | 中文字幕电影一区 | 日韩大片在线看 | 久久黄页| 国产精品女同一区二区三区久久夜 | 亚洲欧美视频一区二区三区 | 91成人在线观看高潮 | 97精品一区二区三区 | 国产精品99久久99久久久二8 | 成人日批视频 | 日韩黄在线观看 | 国产91在 | 国产精品色视频 | 国产又粗又猛又色又黄视频 | 欧美在线观看视频 | 狠狠插天天干 | 毛片二区 | 激情五月激情综合网 | 久久香蕉一区 | 久久久久电影网站 | 九草视频在线观看 | 国产高清福利在线 | 国内精品久久久久久久久久久久 | 中文字幕精品www乱入免费视频 | 国产精品毛片一区二区在线看 | 免费观看一区二区三区视频 | 国产精品久久久久久久久久久久午 | 在线国产视频 | 欧美 另类 交 | 性色大片在线观看 | 久草干 | 日韩高清在线一区 | 免费观看的黄色片 | 久久综合影音 | 国产一区二区在线播放视频 | 中文在线字幕免费观 | 最新不卡av | 免费av免费观看 | 国产精品激情偷乱一区二区∴ | 亚洲激情| 国产九色视频在线观看 | www.夜夜操.com| 在线黄色毛片 | 成人午夜在线观看 | 色综合天天做天天爱 | 日本免费久久高清视频 | 国产精品一区二区在线观看 | 日本激情视频中文字幕 | 亚洲二区精品 | 国产精品1区2区3区在线观看 | 国产日韩在线播放 | 亚洲精品一区二区三区四区高清 | 一区视频在线 | 狠狠色丁香婷婷综合 | 久久99国产精品二区护士 | 国产一二三区av | 涩av在线 | 日本精品中文字幕在线观看 | 国产精品久久久久久久av电影 | 777视频在线观看 | 国内亚洲精品 | 亚洲传媒在线 | 一区二区视频欧美 | 免费观看黄色12片一级视频 | 在线观看中文字幕网站 | 国产一区在线精品 | 免费在线观看一区 | 成人av电影在线观看 | 91九色最新地址 | 久久久久免费精品视频 | av看片网| 久艹视频免费观看 | 亚洲视屏 | 中文字幕刺激在线 | 成年人在线免费看视频 | 日韩城人在线 | 在线黄频 | 亚洲日本色 | 人人爱天天操 | 亚洲激情六月 | 国产一区久久 | 91视频免费网站 | 久久99精品国产一区二区三区 | 午夜精品久久久久久99热明星 | 色悠悠久久综合 | 成人网页在线免费观看 | 99九九99九九九视频精品 | 91麻豆精品国产自产在线 | 欧美一级性| 国产精品a久久久久 | 久久久久久欧美二区电影网 | 亚洲久草视频 | av超碰在线观看 | 你操综合 | 99久久99视频只有精品 | 99视频精品在线 | 成人久久免费 | 91成人短视频在线观看 | va视频在线观看 | 国产成人精品女人久久久 | 欧美日韩国产精品一区 | 国产一区二区成人 | 91在线一区二区 | 中文国产在线观看 | 国产精品短视频 | 黄网站免费看 | 久久久国产精品人人片99精片欧美一 | 国产91精品久久久久 | 日日干夜夜骑 | 国产精品欧美精品 | 久久8| 91成品视频| 亚洲精品字幕在线 | 在线网站黄 | 精品夜夜嗨av一区二区三区 | 日日爱影视 | 久久免费在线 | 日韩av手机在线观看 | 国产成人精品一区二区 | 91成人区| 不卡电影免费在线播放一区 | ww视频在线观看 | 狠狠干免费 | 激情久久久久 | 人人草人人草 | 高潮毛片无遮挡高清免费 | 欧美日性视频 | 精品免费 | 尤物一区二区三区 | 久久精品免费电影 | www色综合| 日本精品午夜 | 国产精品一码二码三码在线 | 婷婷综合激情 | 日韩在线免费看 | 日日干激情五月 | 91高清完整版在线观看 | 久久理伦片 | 最新精品视频在线 | 天天激情综合 | 激情综合久久 | 五月婷婷色播 | 97成人精品区在线播放 | 亚洲女同videos | 欧美日韩不卡在线观看 | 国产色在线,com | 美女福利视频在线 | 欧美日韩xx | 国产成人精品一区二三区 | 99久久久久久国产精品 | 精品 一区 在线 | 国产乱码精品一区二区蜜臀 | 久久久国产精品成人免费 | 免费看国产一级片 | 午夜精品视频一区二区三区在线看 | 久草久草在线观看 | 日日爽日日操 | 91免费观看网站 | 成人在线免费小视频 | 蜜桃av观看 | 免费福利小视频 | 欧美激情视频三区 | 中文字幕第一页在线视频 | 五月综合激情婷婷 | 日韩av一区二区三区四区 | 好看的国产精品视频 | 一区二区三区精品在线视频 | 国产精品一区二区美女视频免费看 | 色综合久久综合中文综合网 | 久久人人看 | 国内久久视频 | 在线亚洲天堂网 | 国产精品女主播一区二区三区 | 天天色综合1 | 五月婷婷丁香激情 | 很黄很污的视频网站 | 精品亚洲一区二区三区 | 成人黄色在线 | 午夜美女视频 | 黄网在线免费观看 | 99免费在线观看 | 97看片吧| 狠狠操电影网 | 久久大片| 手机在线中文字幕 | 亚洲欧洲精品一区二区 | 日韩欧美国产精品 | 国产精品自拍在线 | 国产精品一区二区免费视频 | 久久色在线观看 | 日韩网站在线观看 | 国产黄色电影 | 日本99精品 | 日本黄色免费观看 | 中文在线最新版天堂 | 亚洲精品欧美视频 | 男女拍拍免费视频 | 1区2区3区在线观看 三级动图 | www.久热 | 18做爰免费视频网站 | 国产一区在线免费观看 | 97免费公开视频 | a v在线观看 | 一区二区三区在线免费观看视频 | 日韩欧美视频一区 | 亚洲精品美女久久17c | 国内外成人免费在线视频 | 国产剧情亚洲 | 日韩在线视频播放 | 久久精品欧美一区二区三区麻豆 | 黄色91在线观看 | 成人av一区二区兰花在线播放 | 国产又粗又长又硬免费视频 | 全久久久久久久久久久电影 | 黄色午夜| 在线观看日本高清mv视频 | 91亚洲精品国偷拍自产在线观看 | 免费婷婷 | 久久天天躁狠狠躁夜夜不卡公司 | 久草网在线视频 | 精品在线观看一区二区三区 | 人人狠狠综合久久亚洲婷 | 美女网站在线观看 | 在线观看视频一区二区三区 | 色香蕉在线视频 | 国产色综合天天综合网 | 亚洲影院色 | 久久在线视频在线 | 婷婷综合五月天 | 51精品国自产在线 | 色视频网站免费观看 | 天天摸日日摸人人看 | 精品中文字幕在线 | 美女视频黄免费的久久 | 国产麻豆精品久久 | 久久精品黄 | 在线日韩中文 | 久久99在线视频 | 超碰在线人 | 亚洲 成人 一区 | 精品久久久久一区二区国产 | 99热日本 | 国产精品刺激对白麻豆99 | 婷婷日韩| 成人免费视频网 | 亚洲视频在线视频 | 美女免费电影 | 五月开心六月伊人色婷婷 | 国产精品高清在线 | 97国产大学生情侣白嫩酒店 | 一区二区三区四区五区在线视频 | 91激情在线视频 | 91久久人澡人人添人人爽欧美 | 久久精品一区二区三区视频 | 亚洲精品黄 | 亚洲天堂自拍视频 | 亚洲国产精品第一区二区 | 午夜美女福利 | 丁香综合 | 中文字幕在线网 | 五月开心色 | 欧美成年黄网站色视频 | 日韩欧美在线观看一区二区三区 | 国产91亚洲精品 | 久久欧美综合 | 992tv成人免费看片 | 日韩欧美成 | 欧美影院久久 | 国产精品久久久久一区二区三区共 | 一级国产视频 | 在线观看国产区 | 视频在线播放国产 | 国产91精品看黄网站在线观看动漫 | 国产一区二区成人 | 国产精品免费一区二区三区 | 国产一区在线观看免费 | 在线观看成人一级片 | 亚洲国产激情 | 欧美日韩国内在线 | 亚洲丁香日韩 | 人人干狠狠干 | 国产手机在线观看 | 黄色大全视频 | av7777777 | 亚洲综合情 | 日韩精品一区二区三区视频播放 | www.com久久 | 午夜性色 | www.久久婷婷 | 欧美一区二区三区免费观看 | 国产美女无遮挡永久免费 | 精品国产诱惑 | 在线免费观看黄网站 | www.91成人 | av黄色在线观看 | 国产成人精品午夜在线播放 | 操久在线 | 国产无区一区二区三麻豆 | 91精品一区二区三区蜜桃 | 国产美女网站视频 | 久久伦理 | 手机av片| 福利网在线 | av在线播放国产 | 国产欧美精品在线观看 | 成年人免费看片 | 在线蜜桃视频 | 99国产精品视频免费观看一公开 | 日韩一级电影在线观看 | 成人黄色免费在线观看 | 国产资源中文字幕 | 最近中文字幕国语免费av | 成人影视免费看 | 中文字幕一二 | 香蕉97视频观看在线观看 | 美女国产| 欧美午夜剧场 | 免费观看成年人视频 | 国产美女被啪进深处喷白浆视频 | 欧洲精品久久久久毛片完整版 | 亚洲老妇xxxxxx | 99视频国产精品免费观看 | 一级黄色大片在线观看 | 午夜精品久久久久久久99无限制 | 国产午夜精品久久久久久久久久 | 91av在线免费播放 | 天天操天天射天天爽 | 五月婷婷播播 | 伊人久久av | 日韩一区精品 | 国产99久久九九精品免费 | 久久久久国产精品免费免费搜索 | 99久久精品久久久久久清纯 | 色婷五月 | 黄色特级片 | 欧美激情综合五月色丁香 | 97人人网 | 亚洲专区免费观看 | 69精品久久 | 成人永久在线 | 国产视频资源在线观看 | 91在线视频免费观看 | 日日草天天草 | 国产精品毛片一区二区在线 | 亚洲日本va午夜在线影院 | 国产综合婷婷 | 久久精品国产精品亚洲 | 在线免费观看视频 | 91香蕉视频黄| 久久久久久蜜av免费网站 | 三级黄色欧美 | 91亚色视频在线观看 | 天天摸夜夜添 | 天堂av最新网址 | 毛片网免费 | 色婷五月 | 99久久久国产精品免费99 | 久久精品欧美视频 | 伊人首页 | av免费线看| 国产中文自拍 | 国产精品手机视频 | 亚州av一区 | 欧美一性一交一乱 | 日本不卡久久 | 国产精品麻豆一区二区三区 | 久草网站| 在线观看免费视频你懂的 | 狠狠操操 | 亚洲国产精彩中文乱码av | 人人网人人爽 | 精品久久久精品 | 成人一区二区在线观看 | 日日夜夜天天 | 欧美亚洲精品在线观看 | 日韩免费久久 | 国产一区91| 在线观看视频福利 | 国产在线久久久 | 久久精品亚洲综合专区 | 久久精品人人做人人综合老师 | 婷婷久月 | 特级黄色视频毛片 | 激情中文字幕 | 91视频高清免费 | 精品国产欧美一区二区三区不卡 | 有码中文在线 | 亚洲蜜桃在线 | 欧美激情精品久久久久 | 中文字幕久久精品 | 偷拍福利视频一区二区三区 | 黄色资源网站 | 天天色综合三 | 五月婷香蕉久色在线看 | 中文字幕精品一区二区精品 | 国产免码va在线观看免费 | 国产精品美 | 在线观看视频h | 99在线观看精品 | 九九精品毛片 | 9999国产精品 | 2024国产在线 | 久草a在线| 亚洲国产手机在线 | www视频在线观看 | 在线亚洲高清视频 | www.亚洲精品在线 | 国产成人91 | 亚洲视频精品 | 国产成人三级 | 99理论片 | 久久66热这里只有精品 | 国产福利91精品一区二区三区 | 九色精品在线 | av不卡网站 | 小草av在线播放 | 国产91精品看黄网站在线观看动漫 | 99re亚洲国产精品 | 久久国产高清视频 | 日韩高清在线一区 | 久久国色夜色精品国产 | 中国一级片在线观看 | 亚洲欧洲在线视频 | 九九热视频在线播放 | 午夜久草| 深爱激情五月婷婷 | 天天干夜夜夜 | 91精品视频免费观看 | 97视频在线免费播放 | 黄色三级视频片 | 五月激情视频 | 国产高清区 | 国产中文字幕亚洲 | 国产91精品高清一区二区三区 | 91人人爱 | 中文字幕精品一区二区三区电影 | 国产香蕉av | 日韩三级av | 亚洲最大成人免费网站 | 99久久精品国产免费看不卡 | 免费在线观看毛片网站 | 国产性xxxx | 午夜免费电影院 | 五月色综合| 久草在线费播放视频 | 久久一级片 | 日韩av三区| 国产分类视频 | 久久香蕉一区 | 国产麻豆精品95视频 | 国产色在线视频 | 99久久久国产精品免费99 | 狠狠干网| 综合国产在线观看 | 亚洲精品国产精品国自产 | 99国内精品 | 91久久国产自产拍夜夜嗨 | 99精品视频在线免费观看 | 亚洲自拍自偷 | 992tv又爽又黄的免费视频 | 国产一级二级在线观看 | 中文av网| 午夜久久精品 | 九九久久久久久久久激情 | 四虎海外影库www4hu | 激情视频一区二区 | 99在线视频观看 | 亚洲电影av在线 | 国产色网站 | av色综合网 | 黄色av电影在线 | 日日操操操 | 日韩高清一二区 | 日韩精品中文字幕在线观看 | 91精品国自产拍天天拍 | 国产精品久久久久久久久久了 | 少妇资源站 | 亚洲欧美一区二区三区孕妇写真 | 人成电影网 | 久草久热 | 国产精品黄色 | 天堂在线视频免费观看 | 久草在线视频首页 | 久久网页| 奇米影视777影音先锋 | 中文字幕资源在线 | 91资源在线 | 亚洲精品欧洲精品 | 在线成人看片 | 中文字幕永久在线 | 91视频免费国产 | 欧美一级乱黄 | 天天射网| 中文字幕高清av | 色婷婷88av视频一二三区 | 91pony九色丨交换 | 日韩视 | 中文字幕一区2区3区 | 国产精品久久久久久久电影 | 国产精美视频 | 四虎影视欧美 | 天天艹日日干 | 国产免费xvideos视频入口 | 天天插天天狠天天透 | 免费手机黄色网址 | 日韩一级精品 | 中文字幕电影一区 | 一级片在线 | 免费高清无人区完整版 | 欧美成人亚洲成人 | 精品国产自在精品国产精野外直播 | 激情视频在线观看网址 | 日韩伦理片一区二区三区 | 五月天亚洲综合 | 深爱激情站 | 99热亚洲精品 |