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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Feign api调用方式

發布時間:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Feign api调用方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Feign使用簡介

基本用法

基本的使用如下所示,一個對于canonical Retrofit sample的適配。

interface GitHub {// RequestLine注解聲明請求方法和請求地址,可以允許有查詢參數@RequestLine("GET /repos/{owner}/{repo}/contributors")List<Contributor> contributors(@Param("owner") String owner, @Param("repo") String repo); }static class Contributor {String login;int contributions; }public static void main(String... args) {GitHub github = Feign.builder().decoder(new GsonDecoder()).target(GitHub.class, "https://api.github.com");// Fetch and print a list of the contributors to this library.List<Contributor> contributors = github.contributors("OpenFeign", "feign");for (Contributor contributor : contributors) {System.out.println(contributor.login + " (" + contributor.contributions + ")");} }

?


自定義

Feign?有許多可以自定義的方面。舉個簡單的例子,你可以使用?Feign.builder()?來構造一個擁有你自己組件的API接口。如下:

interface Bank {@RequestLine("POST /account/{id}")Account getAccountInfo(@Param("id") String id); } ... // AccountDecoder() 是自己實現的一個Decoder Bank bank = Feign.builder().decoder(new AccountDecoder()).target(Bank.class, "https://api.examplebank.com");

?


多種接口

Feign可以提供多種API接口,這些接口都被定義為?Target<T>?(默認的實現是?HardCodedTarget<T>), 它允許在執行請求前動態發現和裝飾該請求。?
舉個例子,下面的這個模式允許使用當前url和身份驗證token來裝飾每個發往身份驗證中心服務的請求。

CloudDNS cloudDNS = Feign.builder().target(new CloudIdentityTarget<CloudDNS>(user, apiKey));

?


示例

Feign?包含了?GitHub?和?Wikipedia?客戶端的實現樣例.相似的項目也同樣在實踐中運用了Feign。尤其是它的示例后臺程序。


Feign集成模塊

Feign?可以和其他的開源工具集成工作。你可以將這些開源工具集成到?Feign?中來。目前已經有的一些模塊如下:

Gson

Gson?包含了一個編碼器和一個解碼器,這個可以被用于JSON格式的API。?
添加?GsonEncoder?以及?GsonDecoder?到你的?Feign.Builder?中, 如下:

GsonCodec codec = new GsonCodec(); GitHub github = Feign.builder().encoder(new GsonEncoder()).decoder(new GsonDecoder()).target(GitHub.class, "https://api.github.com");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-gson</artifactId><version>8.18.0</version> </dependency>

?

Jackson

Jackson?包含了一個編碼器和一個解碼器,這個可以被用于JSON格式的API。?
添加?JacksonEncoder?以及?JacksonDecoder?到你的?Feign.Builder?中, 如下:

GitHub github = Feign.builder().encoder(new JacksonEncoder()).decoder(new JacksonDecoder()).target(GitHub.class, "https://api.github.com");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --><dependency><groupId>com.netflix.feign</groupId><artifactId>feign-jackson</artifactId><version>8.18.0</version></dependency>

?

Sax

SaxDecoder?用于解析XML,并兼容普通JVM和Android。下面是一個配置sax來解析響應的例子:

api = Feign.builder().decoder(SAXDecoder.builder().registerContentHandler(UserIdHandler.class).build()).target(Api.class, "https://apihost");

?

Maven依賴:

<dependency><groupId>com.netflix.feign</groupId><artifactId>feign-sax</artifactId><version>8.18.0</version> </dependency>

?

JAXB

JAXB?包含了一個編碼器和一個解碼器,這個可以被用于XML格式的API。?
添加?JAXBEncoder?以及?JAXBDecoder?到你的?Feign.Builder?中, 如下:

api = Feign.builder().encoder(new JAXBEncoder()).decoder(new JAXBDecoder()).target(Api.class, "https://apihost");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-jaxb</artifactId><version>8.18.0</version> </dependency>

JAX-RS

JAXRSContract?使用 JAX-RS 規范重寫覆蓋了默認的注解處理。下面是一個使用 JAX-RS 的例子:

interface GitHub {@GET @Path("/repos/{owner}/{repo}/contributors")List<Contributor> contributors(@PathParam("owner") String owner, @PathParam("repo") String repo); } // contract 方法配置注解處理器,注解處理器定義了哪些注解和值是可以作用于接口的 GitHub github = Feign.builder().contract(new JAXRSContract()).target(GitHub.class, "https://api.github.com");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-jaxrs</artifactId><version>8.18.0</version> </dependency>

?

OkHttp

OkHttpClient?使用?OkHttp?來發送?Feign?的請求,OkHttp?支持?SPDY?(SPDY是Google開發的基于TCP的傳輸層協議,用以最小化網絡延遲,提升網絡速度,優化用戶的網絡使用體驗),并有更好的控制http請求。?
要讓?Feign?使用?OkHttp?,你需要將?OkHttp?加入到你的環境變量中區,然后配置?Feign?使用?OkHttpClient,如下:

GitHub github = Feign.builder().client(new OkHttpClient()).target(GitHub.class, "https://api.github.com");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-okhttp</artifactId><version>8.18.0</version> </dependency>

?

Ribbon

RibbonClient?重寫了?Feign?客戶端的對URL的處理,其添加了 智能路由以及一些其他由Ribbon提供的彈性功能。?
集成Ribbon需要你將ribbon的客戶端名稱當做url的host部分來傳遞,如下:

// myAppProd是你的ribbon client name MyService api = Feign.builder().client(RibbonClient.create()).target(MyService.class, "https://myAppProd");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-ribbon</artifactId><version>8.18.0</version> </dependency>

?

Hystrix

HystrixFeign?配置了?Hystrix?提供的熔斷機制。?
要在?Feign?中使用?Hystrix?,你需要添加Hystrix模塊到你的環境變量,然后使用?HystrixFeign?來構造你的API:

MyService api = HystrixFeign.builder().target(MyService.class, "https://myAppProd");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-hystrix</artifactId><version>8.18.0</version> </dependency>

?

SLF4J

SLF4JModule?允許你使用?SLF4J?作為?Feign?的日志記錄模塊,這樣你就可以輕松的使用?Logback,?Log4J?, 等 來記錄你的日志.?
要在?Feign?中使用?SLF4J?,你需要添加SLF4J模塊和對應的日志記錄實現模塊(比如Log4J)到你的環境變量,然后配置?Feign使用Slf4jLogger?:

GitHub github = Feign.builder().logger(new Slf4jLogger()).target(GitHub.class, "https://api.github.com");

?

Maven依賴:

<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-gson --> <dependency><groupId>com.netflix.feign</groupId><artifactId>feign-slf4j</artifactId><version>8.18.0</version> </dependency>

?


Feign 組成

Decoders

Feign.builder()?允許你自定義一些額外的配置,比如說如何解碼一個響應。假如有接口方法返回的消息不是?Response,?String,?byte[]?或者?void?類型的,那么你需要配置一個非默認的解碼器。?
下面是一個配置使用JSON解碼器(使用的是feign-gson擴展)的例子:

GitHub github = Feign.builder().decoder(new GsonDecoder()).target(GitHub.class, "https://api.github.com");

?

假如你想在將響應傳遞給解碼器處理前做一些額外的處理,那么你可以使用mapAndDecode方法。一個用例就是使用jsonp服務的時候:

// 貌似1.8.0版本中沒有mapAndDecode這個方法。。。 JsonpApi jsonpApi = Feign.builder().mapAndDecode((response, type) -> jsopUnwrap(response, type), new GsonDecoder()).target(JsonpApi.class, "https://some-jsonp-api.com");

?

Encoders

發送一個Post請求最簡單的方法就是傳遞一個?String?或者?byte[]?類型的參數了。你也許還需添加一個Content-Type請求頭,如下:

interface LoginClient {@RequestLine("POST /")@Headers("Content-Type: application/json")void login(String content); } ... client.login("{\"user_name\": \"denominator\", \"password\": \"secret\"}");

?

通過配置一個解碼器,你可以發送一個安全類型的請求體,如下是一個使用 feign-gson 擴展的例子:

static class Credentials {final String user_name;final String password;Credentials(String user_name, String password) {this.user_name = user_name;this.password = password;} }interface LoginClient {@RequestLine("POST /")void login(Credentials creds); } ... LoginClient client = Feign.builder().encoder(new GsonEncoder()).target(LoginClient.class, "https://foo.com");client.login(new Credentials("denominator", "secret"));

?

@Body templates

@Body注解申明一個請求體模板,模板中可以帶有參數,與方法中?@Param?注解申明的參數相匹配,使用方法如下

interface LoginClient {@RequestLine("POST /")@Headers("Content-Type: application/xml")@Body("<login \"user_name\"=\"{user_name}\" \"password\"=\"{password}\"/>")void xml(@Param("user_name") String user, @Param("password") String password);@RequestLine("POST /")@Headers("Content-Type: application/json")// json curly braces must be escaped!// 這里JSON格式需要的花括號居然需要轉碼,有點蛋疼了。@Body("%7B\"user_name\": \"{user_name}\", \"password\": \"{password}\"%7D")void json(@Param("user_name") String user, @Param("password") String password); } ... // <login "user_name"="denominator" "password"="secret"/> client.xml("denominator", "secret"); // {"user_name": "denominator", "password": "secret"} client.json("denominator", "secret");

?

Headers

Feign?支持給請求的api設置或者請求的客戶端設置請求頭

給API設置請求頭

  • 使用?@Headers?設置靜態請求頭
// 給BaseApi中的所有方法設置Accept請求頭 @Headers("Accept: application/json") interface BaseApi<V> {// 單獨給put方法設置Content-Type請求頭@Headers("Content-Type: application/json") @RequestLine("PUT /api/{key}") void put(@Param("key") String, V value); }
  • 設置動態值的請求頭
@RequestLine("POST /") @Headers("X-Ping: {token}") void post(@Param("token") String token);
  • 設置key和value都是動態的請求頭?
    有些API需要根據調用時動態確定使用不同的請求頭(e.g. custom metadata header fields such as “x-amz-meta-” or “x-goog-meta-“),?
    這時候可以使用?@HeaderMap?注解,如下:
// @HeaderMap 注解設置的請求頭優先于其他方式設置的 @RequestLine("POST /") void post(@HeaderMap Map<String, Object> headerMap);

給Target設置請求頭

有時我們需要在一個API實現中根據不同的endpoint來傳入不同的Header,這個時候我們可以使用自定義的RequestInterceptor 或 Target來實現.?
通過自定義的 RequestInterceptor 來實現請查看?Request Interceptors?章節.?
下面是一個通過自定義Target來實現給每個Target設置安全校驗信息Header的例子:

static class DynamicAuthTokenTarget<T> implements Target<T> {public DynamicAuthTokenTarget(Class<T> clazz,UrlAndTokenProvider provider,ThreadLocal<String> requestIdProvider);...@Overridepublic Request apply(RequestTemplate input) { TokenIdAndPublicURL urlAndToken = provider.get(); if (input.url().indexOf("http") != 0) { input.insert(0, urlAndToken.publicURL); } input.header("X-Auth-Token", urlAndToken.tokenId); input.header("X-Request-ID", requestIdProvider.get()); return input.request(); } } ... Bank bank = Feign.builder() .target(new DynamicAuthTokenTarget(Bank.class, provider, requestIdProvider));

這種方法的實現依賴于給Feign?客戶端設置的自定義的RequestInterceptor 或 Target??梢员挥脕斫o一個客戶端的所有api請求設置請求頭。比如說可是被用來在header中設置身份校驗信息。這些方法是在線程執行api請求的時候才會執行,所以是允許在運行時根據上下文來動態設置header的。?
比如說可以根據線程本地存儲(thread-local storage)來為不同的線程設置不同的請求頭。


高級用法

Base APIS

有些請求中的一些方法是通用的,但是可能會有不同的參數類型或者返回類型,這個時候可以這么用:

// 通用API interface BaseAPI {@RequestLine("GET /health")String health();@RequestLine("GET /all") List<Entity> all(); } // 繼承通用API interface CustomAPI extends BaseAPI { @RequestLine("GET /custom") String custom(); } // 各種類型有相同的表現形式,定義一個統一的API @Headers("Accept: application/json") interface BaseApi<V> { @RequestLine("GET /api/{key}") V get(@Param("key") String key); @RequestLine("GET /api") List<V> list(); @Headers("Content-Type: application/json") @RequestLine("PUT /api/{key}") void put(@Param("key") String key, V value); } // 根據不同的類型來繼承 interface FooApi extends BaseApi<Foo> { } interface BarApi extends BaseApi<Bar> { }

Logging

你可以通過設置一個?Logger?來記錄http消息,如下:

GitHub github = Feign.builder().decoder(new GsonDecoder()).logger(new Logger.JavaLogger().appendToFile("logs/http.log")).logLevel(Logger.Level.FULL).target(GitHub.class, "https://api.github.com");

也可以參考上面的?SLF4J?章節的說明

Request Interceptors

當你希望修改所有的的請求的時候,你可以使用Request Interceptors。比如說,你作為一個中介,你可能需要為每個請求設置?X-Forwarded-For

static class ForwardedForInterceptor implements RequestInterceptor {@Override public void apply(RequestTemplate template) { template.header("X-Forwarded-For", "origin.host.com"); } } ... Bank bank = Feign.builder() .decoder(accountDecoder) .requestInterceptor(new ForwardedForInterceptor()) .target(Bank.class, "https://api.examplebank.com");

或者,你可能需要實現Basic Auth,這里有一個內置的基礎校驗攔截器?BasicAuthRequestInterceptor

Bank bank = Feign.builder().decoder(accountDecoder).requestInterceptor(new BasicAuthRequestInterceptor(username, password)).target(Bank.class, "https://api.examplebank.com");

Custom @Param Expansion

在使用?@Param?注解給模板中的參數設值的時候,默認的是使用的對象的?toString()?方法的值,通過聲明 自定義的Param.Expander,用戶可以控制其行為,比如說格式化?Date?類型的值:

// 通過設置 @Param 的 expander 為 DateToMillis.class 可以定義Date類型的值 @RequestLine("GET /?since={date}") Result list(@Param(value = "date", expander = DateToMillis.class) Date date);

Dynamic Query Parameters

動態查詢參數支持,通過使用?@QueryMap?可以允許動態傳入請求參數,如下:

@RequestLine("GET /find") V find(@QueryMap Map<String, Object> queryMap);

Static and Default Methods

如果你使用的是JDK 1.8+ 的話,那么你可以給接口設置統一的默認方法和靜態方法,這個事JDK8的新特性,如下:

interface GitHub {@RequestLine("GET /repos/{owner}/{repo}/contributors")List<Contributor> contributors(@Param("owner") String owner, @Param("repo") String repo); @RequestLine("GET /users/{username}/repos?sort={sort}") List<Repo> repos(@Param("username") String owner, @Param("sort") String sort); default List<Repo> repos(String owner) { return repos(owner, "full_name"); } /** * Lists all contributors for all repos owned by a user. */ default List<Contributor> contributors(String user) { MergingContributorList contributors = new MergingContributorList(); for(Repo repo : this.repos(owner)) { contributors.addAll(this.contributors(user, repo.getName())); } return contributors.mergeResult(); } static GitHub connect() { return Feign.builder() .decoder(new GsonDecoder()) .target(GitHub.class, "https://api.github.com"); } }

總結

以上是生活随笔為你收集整理的Feign api调用方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

中文字幕一二三区 | 日韩欧美电影在线观看 | 亚洲精品一区二区三区新线路 | 国产伦精品一区二区三区免费 | 亚洲九九影院 | 97av在线视频 | 91视频91色| 国产精品九九九九九 | 最近日本mv字幕免费观看 | 日韩中文字幕免费在线播放 | 婷婷激情站 | 中文不卡视频 | 国产色一区 | 国内成人精品2018免费看 | www.香蕉视频 | 91高清免费看| 黄色在线免费观看网站 | 国产黄在线免费观看 | 久久dvd | 五月激情久久 | 国产成人av福利 | 中文字幕一区二区三区四区久久 | 亚洲精品国产精品久久99热 | 人人涩| 亚洲精品一区二区三区在线观看 | 国产成人三级 | 午夜久久久久久久 | 亚洲精品xxxx | 91高清视频 | 国内揄拍国产精品 | 日韩在线中文字幕 | 99视频免费在线观看 | 久久69精品 | 婷婷久久精品 | 亚洲精品合集 | 日韩精品视频在线观看网址 | 97夜夜澡人人双人人人喊 | 狠狠干激情 | 丝袜美女视频网站 | 日日夜夜精品视频 | 色婷婷丁香| 91精品久久久久久久久久久久久 | 国产日韩欧美在线免费观看 | 少妇bbb | 久久久久久免费视频 | 久久人91精品久久久久久不卡 | 97日日碰人人模人人澡分享吧 | 免费观看一级一片 | 精品中文字幕视频 | 五月婷婷中文网 | 亚洲a色 | 欧美日韩中文字幕综合视频 | 日韩欧美一区二区三区在线观看 | 日韩福利在线观看 | 久久综合中文字幕 | 色爱区综合激月婷婷 | 国产尤物一区二区三区 | 国产精品国产精品 | 免费在线观看成人av | 亚洲一区动漫 | 久久久免费观看 | 五月天激情综合网 | 国产精品美女久久久久久久 | 九九视频精品免费 | 久久超级碰视频 | www.久久精品视频 | av在线进入 | 国模吧一区 | avv天堂| 国产污视频在线观看 | 久久免费公开视频 | 九九视频在线 | 91色国产| 日韩精品久久一区二区 | 国产在线2020 | 在线播放精品一区二区三区 | 色综合婷婷久久 | 久久艹精品 | 国产一级特黄毛片在线毛片 | 亚洲国产精品人久久电影 | 国产高清视频免费最新在线 | 日韩黄色影院 | 综合婷婷丁香 | 69av久久| 国产精品第三页 | 日日综合网 | 91久久国产综合精品女同国语 | 青草视频在线看 | 亚洲v精品| 欧美日韩在线视频观看 | www久久精品 | 久久久久久久久久久久久影院 | 久久国产精品久久久久 | 久久成人高清 | 欧美爽爽爽 | 婷婷视频在线 | 永久av免费在线观看 | 天天射色综合 | 亚洲传媒在线 | 国产精品毛片一区视频播不卡 | 国产成人精品久久亚洲高清不卡 | 丁香六月在线 | 97狠狠干 | 精品国产1区二区 | 日韩超碰在线 | 久草在线在线视频 | av成人免费在线观看 | 8090yy亚洲精品久久 | 免费高清在线观看电视网站 | 久久精品老司机 | 中文字幕无吗 | 日韩av一区二区在线播放 | 日日夜夜精品网站 | 久久热首页 | 日韩精品中文字幕在线播放 | 99色婷婷| 91视频a | 中文字幕一二 | 日韩高清一二区 | 欧美巨乳波霸 | 91激情视频在线播放 | 日韩高清www | 久久久久久片 | 91视频免费观看 | 亚洲视屏 | 午夜精品福利影院 | 最新色视频 | 国产一级片播放 | 色综合天天干 | 国产亚洲视频在线免费观看 | 国产一卡久久电影永久 | 欧美另类性| 色资源网免费观看视频 | 99久热在线精品视频成人一区 | 久久av伊人 | 天天干中文字幕 | 在线观看av的网站 | 国产成人一区二区三区影院在线 | www国产亚洲精品久久麻豆 | 亚洲成人av一区 | 91精品视频导航 | 在线成人中文字幕 | 日本黄色免费播放 | 超碰免费av | 国产精品成人一区二区 | 成人h在线播放 | 亚洲情感电影大片 | 欧美精品久久久久久久久久久 | 日韩免费在线视频观看 | 日韩免费一区二区三区 | 色婷婷五| 日本黄区免费视频观看 | 欧美一区二区在线 | 久久精品1区 | 免费在线日韩 | 久久九九国产视频 | 欧美精品亚洲精品日韩精品 | а天堂中文最新一区二区三区 | 婷婷激情五月 | 日韩有码第一页 | 亚洲久草在线 | 精品久久91 | 色香com. | 日本一区二区不卡高清 | 超碰97公开| 激情综合国产 | 91成人蝌蚪| 2023av在线 | 天堂网一区二区 | 婷婷综合导航 | 久久精品这里热有精品 | 国产精品久久久久久久久久新婚 | 欧美日韩一区二区三区在线观看视频 | 又黄又刺激的网站 | 九九久久久久久久久激情 | 成人黄色小说网 | 日韩在线精品一区 | 久久九九国产精品 | 久久福利剧场 | www.在线看片.com | 精品国产免费一区二区三区五区 | 一区二区中文字幕在线观看 | 天天综合网入口 | 四虎免费在线观看 | 中文字幕在线观看一区二区 | 超碰人人91 | 亚洲精品视频久久 | 国产一区二区久久精品 | 四虎影视成人永久免费观看视频 | 午夜影视av| 91在线区| 国产精品普通话 | 久久久久久久久久免费 | av品善网 | 狠狠色伊人亚洲综合网站野外 | 国产精品九色 | 国产精品福利小视频 | 成人免费 在线播放 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 日本狠狠干 | 成人a视频 | 亚洲高清视频在线观看免费 | 国产成人精品综合 | 免费观看视频的网站 | 91激情| 午夜精品影院 | 麻豆久久一区 | a视频在线看 | 999久久国精品免费观看网站 | 在线一区av | 在线观看国产www | 国产视频一区在线免费观看 | 91网页版免费观看 | 欧美黑人性爽 | 国产一级免费片 | 天天操天天操天天干 | 三级av在线免费观看 | 国产一级精品在线观看 | 亚洲精品一区二区精华 | 五月天com | 欧美日韩国产精品一区二区 | 色综合激情久久 | 国产色婷婷精品综合在线手机播放 | 怡红院av久久久久久久 | 成人在线观看资源 | 综合网伊人 | www色网站| 在线观看色网站 | 日韩网| 久99久在线视频 | 国产伦精品一区二区三区无广告 | 国产日产欧美在线观看 | 亚洲视频 中文字幕 | 嫩草av在线 | 麻豆免费在线播放 | 成人av一区二区在线观看 | 热久久国产 | 日批在线看 | 免费av网址大全 | 三级av网站 | 日韩精品一区电影 | 日韩网站免费观看 | 偷拍福利视频一区二区三区 | 手机在线中文字幕 | 国产精品原创在线 | 97国产精品亚洲精品 | 日韩av手机在线看 | 婷婷久操 | 激情五月激情综合网 | 深爱婷婷 | 一区二区日韩av | 日韩aa视频| avlulu久久精品 | 久久综合毛片 | 国产一区二区久久精品 | 久久久国产精品久久久 | 婷婷激情在线 | 1024在线看片 | 国产99黄| 国产精品久久久久免费观看 | 99精品乱码国产在线观看 | 在线观看蜜桃视频 | 色999视频 | 亚洲精品视频网站在线观看 | 在线看av的网址 | 美女视频国产 | 亚洲视频电影在线 | 99自拍视频在线观看 | 日韩av中文在线观看 | 日韩免费一区二区三区 | 国产精品ⅴa有声小说 | 成人性生交大片免费看中文网站 | www.狠狠插.com | 免费看一级黄色 | 国产一区二区三区网站 | 视频1区2区 | av五月婷婷 | 四虎影视精品永久在线观看 | 欧美亚洲精品在线观看 | 婷婷丁香激情 | av免费看看| 久久66热这里只有精品 | 国产淫a| 国产一区二区在线播放视频 | 亚洲国产精选 | 中文字幕视频一区二区 | 日日夜夜操av | h文在线观看免费 | 色精品视频 | 日韩黄色在线电影 | 久久免费久久 | 日韩久久午夜一级啪啪 | 日韩v在线 | 又色又爽又黄高潮的免费视频 | 亚洲爱爱视频 | 黄色网址中文字幕 | 最近免费观看的电影完整版 | 久久精品亚洲精品国产欧美 | 亚洲精品视频在线免费播放 | 国产字幕在线看 | 日韩在线不卡av | 日本在线观看视频一区 | 婷婷激情五月 | 国产高清在线视频 | av在线免费网 | 999ZYZ玖玖资源站永久 | 日韩精品视频久久 | 亚洲天天 | 日韩一区二区三区免费电影 | 808电影免费观看三年 | 97国产精品亚洲精品 | 中文字幕在线播放日韩 | 欧美激情视频三区 | 在线免费观看视频一区 | 成人在线观看资源 | 91精品国产91p65 | 久久99精品国产麻豆宅宅 | av免费网站在线观看 | 手机看国产毛片 | www.狠狠干 | 97在线成人 | 国产精品av免费在线观看 | 国产在线探花 | 欧洲黄色片 | 97色资源| 中文字幕在线日 | 青青草华人在线视频 | 久久在现 | 91网页版在线观看 | 久久九九免费视频 | 国产成人免费高清 | 日韩精品极品视频 | 精品一区二区三区香蕉蜜桃 | 超碰在线1 | 日韩视频免费播放 | 在线视频欧美日韩 | 麻豆视频91 | 久久综合婷婷国产二区高清 | 日韩国产高清在线 | 国产在线视频不卡 | 成人在线观看免费 | 黄色1级大片 | 欧美一区二区三区在线播放 | 精品久久一区二区 | 日韩高清毛片 | 国产一区麻豆 | 国产91精品高清一区二区三区 | 免费国产在线观看 | 欧美一区中文字幕 | 日夜夜精品视频 | 久久久999免费视频 日韩网站在线 | 国产精品18毛片一区二区 | 色综合天天爱 | 国产精品青青 | 久久精品亚洲 | 9992tv成人免费看片 | 中文字幕九九 | 免费美女久久99 | 日韩午夜视频在线观看 | 国产资源网 | 公与妇乱理三级xxx 在线观看视频在线观看 | 日本精品久久久久中文字幕 | 777久久久 | 国产精品视频你懂的 | 91在线精品秘密一区二区 | 久草视频中文在线 | 国产天天爽 | 国产高清久久久久 | 日韩高清在线观看 | 在线观看视频你懂的 | 人人爽人人乐 | 久久久久亚洲国产 | 精品在线免费视频 | 视频在线99re| 国产69精品久久久久99尤 | 久久在线免费视频 | 久久丁香 | 91成人免费看片 | 国产精品久久久久久久av电影 | 免费久久精品视频 | 少妇bbw搡bbbb搡bbb | 天天干天天操天天入 | 91麻豆精品国产91久久久更新时间 | 国产精品一区二区麻豆 | 免费三级黄色 | 国产成人av福利 | 91av蜜桃| 在线亚洲天堂网 | 97色免费视频| 超碰99人人 | 日日干天天干 | 一本一本久久a久久精品牛牛影视 | 91黄视频在线观看 | 免费观看91视频 | 欧美 日韩 久久 | 久久久久久久久久久久国产精品 | 国产免费中文字幕 | 毛片的网址| 三级黄色理论片 | 亚洲国产人午在线一二区 | 国产精品精品久久久久久 | 美女在线免费观看视频 | 99综合久久| 久久成人综合视频 | 国产自偷自拍 | 亚洲国产日韩精品 | 亚洲最新在线视频 | 91九色精品国产 | 国产一区二区三区免费在线观看 | 国产 在线观看 | 国产精品观看在线亚洲人成网 | 在线观看午夜av | 玖玖精品视频 | 美女久久久久久 | 日韩精品一区二区三区中文字幕 | avhd高清在线谜片 | 欧美韩国日本在线观看 | 久久久久久久久久亚洲精品 | 亚洲综合小说 | 亚洲国产日韩av | av免费福利 | 正在播放国产一区二区 | 亚洲91精品在线观看 | 六月丁香激情综合 | 国产在线视频一区二区三区 | 色综合久久久久久中文网 | 在线日韩 | 91精品国产麻豆国产自产影视 | 色99在线 | 国产精品k频道 | 日日干视频 | 欧美9999| 免费毛片aaaaaa | 91禁在线看 | 久久一区精品 | 六月婷婷久香在线视频 | 成人午夜精品福利免费 | 色99在线| 国产精品免费在线播放 | 在线国产视频观看 | 在线电影日韩 | 日韩精品免费一区二区 | 中文字幕乱码电影 | 91九色蝌蚪视频 | 激情五月av | 超碰激情在线 | 99国产精品视频免费观看一公开 | 欧美国产日韩一区二区 | 黄色网址国产 | 夜添久久精品亚洲国产精品 | 中文字幕电影高清在线观看 | 国产手机在线精品 | 在线播放视频一区 | 日韩av在线一区二区 | 日韩精品久久中文字幕 | 国产精品久免费的黄网站 | 中文字幕在线观看免费 | 国产 一区二区三区 在线 | 国产专区在线 | 国产亚洲视频中文字幕视频 | 一级免费黄视频 | 男女免费视频观看 | 国产一级淫片在线观看 | 97视频在线观看播放 | 五月网婷婷| 精品一二三四五区 | 色 中文字幕 | 国产999视频在线观看 | 午夜av在线播放 | 色婷婷狠 | 麻豆精品91 | 欧美日韩性视频 | 国产色秀视频 | 国内视频1区 | 国产亚洲成人精品 | 国产第一页福利影院 | 色国产精品一区在线观看 | 伊人狠狠干 | 国产视频18 | 国产精品系列在线观看 | 又色又爽又激情的59视频 | 免费高清国产 | 国产裸体视频bbbbb | 亚洲国产mv| 日本中文字幕电影在线免费观看 | 国产精美视频 | 久久精品这里都是精品 | 久久精品电影 | 99精品在线免费在线观看 | 欧美激情视频一区二区三区免费 | 美女很黄免费网站 | 日韩爱爱网站 | 一级性视频 | 国产在线观看国语版免费 | 丁香激情综合久久伊人久久 | 97超碰免费在线观看 | 在线播放日韩av | 玖玖999| 天天干天天射天天操 | 99在线观看视频 | 国产免费视频一区二区裸体 | 国产91精品在线观看 | 欧美少妇xx | 欧美日韩调教 | 久草在线高清 | 国产精品12 | 麻豆久久一区 | av一二三区| 偷拍精品一区二区三区 | 亚洲国产日韩一区 | 91正在播放 | 九九九电影免费看 | 五月婷婷六月丁香 | 91在线亚洲 | 五月婷婷六月丁香激情 | 美女精品网站 | 成片人卡1卡2卡3手机免费看 | 99久久这里有精品 | 久久婷婷一区 | 免费久久久 | 色姑娘综合 | 日韩免费一级a毛片在线播放一级 | 天天草天天操 | 开心激情网五月天 | 国产99自拍 | 国产精品网站 | 香蕉影视在线观看 | 视频国产在线 | 中文字幕一区二区三区久久蜜桃 | 亚洲午夜电影网 | 999热视频 | 激情综合中文娱乐网 | 久久久免费播放 | 在线视频一区观看 | 成 人 a v天堂| 日本在线观看视频一区 | 久久视频在线看 | 一区二区中文字幕在线 | 日本久久久影视 | 成年人视频在线免费播放 | 中文字幕亚洲综合久久五月天色无吗'' | 欧美精品亚洲二区 | 国产精品白浆视频 | 日本久久不卡视频 | 欧美日韩精品在线视频 | 中文字幕123区 | 国产成人一区二区三区免费看 | 91精品国产一区二区在线观看 | 久久久久97国产 | 精品亚洲国产视频 | 亚洲欧美激情插 | 国产精品99免费看 | 九九热国产视频 | 国产日韩中文在线 | 亚洲国产精品久久久 | 久爱综合 | 麻豆91网站 | 精品主播网红福利资源观看 | 91亚洲国产| 日韩精品视频第一页 | 亚洲精品永久免费视频 | 国产精品青草综合久久久久99 | 精品国产一区二区三区不卡 | 日韩免费不卡视频 | 中文字幕日韩免费视频 | 五月婷婷中文网 | av国产在线观看 | 久久视频网 | 国产综合在线视频 | 久久久精品视频成人 | 成人免费一级 | 成人h在线观看 | 97天堂网 | 在线观看色网 | 亚洲 中文 在线 精品 | 久久国产亚洲精品 | 国产一级高清 | 国产小视频免费在线网址 | 四虎影视成人永久免费观看亚洲欧美 | 日韩在线电影一区二区 | 国产一级不卡毛片 | 国产成人精品久久久久 | 久久久久久久久艹 | 欧美污在线观看 | 国产色在线视频 | 在线看一区| 国产成人精品国内自产拍免费看 | 激情五月婷婷综合网 | 午夜久久影视 | 97成人超碰 | 五月开心六月伊人色婷婷 | 国产精品黄色av | 日韩艹| 91免费国产在线观看 | 热99在线视频 | 在线观看国产v片 | 激情久久婷婷 | 尤物一区二区三区 | 久久久久电影 | 日韩在线激情 | 成人午夜久久 | 在线观看视频你懂的 | 亚洲视频免费视频 | 天天夜夜亚洲 | 久久国产成人午夜av影院宅 | 久久综合桃花 | 51久久成人国产精品麻豆 | 免费看av在线 | 一区二区三区在线视频观看58 | 九九九视频在线 | 免费国产黄线在线观看视频 | 久久久久国产精品午夜一区 | a级国产乱理伦片在线观看 亚洲3级 | 久久久久国产一区二区三区 | 国产第页 | 国产视频中文字幕在线观看 | 亚洲欧洲xxxx| 激情五月伊人 | 日韩精品在线播放 | 日韩欧美视频免费在线观看 | 日韩中文字幕网站 | 99久热在线精品视频 | 亚色视频在线观看 | 久久精品国产精品亚洲 | 国产精品电影一区二区 | 九九免费在线观看视频 | 精品久久久精品 | 国产成人三级在线 | 欧美日本国产在线观看 | 91精品国自产拍天天拍 | 久久久国产精品久久久 | 成人免费观看视频大全 | 久久天堂精品视频 | 国产第一页精品 | 日日摸日日爽 | 精品国产伦一区二区三区观看体验 | 韩国在线一区二区 | 亚州精品天堂中文字幕 | 国内精品视频在线播放 | 久久男女视频 | 亚洲黄在线观看 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲精品资源在线 | 免费午夜在线视频 | 国产91免费在线观看 | 一区二精品 | 亚洲最新av在线网址 | 成人久久毛片 | 最近最新最好看中文视频 | av三级av | 国产资源av| 婷婷六月色 | 九七视频在线 | 国内成人精品2018免费看 | 国产91精品在线播放 | 国产精品欧美久久久久三级 | 91精品看片 | 欧美性爽爽 | 69av在线视频 | 97超碰中文字幕 | 91成人免费看 | 操操操综合 | av中文字幕网站 | 欧美日韩在线播放一区 | 免费a一级 | 毛片www| 伊人春色电影网 | 在线免费观看麻豆 | 成人影片在线免费观看 | 亚州国产精品久久久 | 久久免费在线视频 | 亚洲成人资源在线观看 | 久久看毛片 | www.夜夜操.com| 性色av一区二区三区在线观看 | 日韩在线视频免费看 | 亚洲综合色丁香婷婷六月图片 | 中文字幕有码在线 | 天天色天天爱天天射综合 | 国产 亚洲 欧美 在线 | 福利片视频区 | 97狠狠干| 午夜精品电影 | av在线电影网站 | 欧美日韩国产综合一区二区 | 亚洲最大免费成人网 | 久草在线电影网 | 婷婷色影院 | 欧美日韩高清一区二区三区 | 9797在线看片亚洲精品 | 久久中文字幕在线视频 | 天天操天天色天天 | 色欧美综合 | 精品在线视频一区二区三区 | 久久午夜精品 | 亚洲精品影院在线观看 | 久久一区91 | 日本黄色免费电影网站 | 国产色视频一区二区三区qq号 | 96国产精品视频 | 免费在线播放黄色 | 欧美日韩午夜爽爽 | 在线观看视频福利 | av经典在线| 国产福利精品在线观看 | 一区二区三区四区不卡 | 亚洲欧洲国产日韩精品 | 亚洲国产精品va在线看黑人动漫 | av解说在线 | 中文字幕国产一区 | 国语精品免费视频 | 国产精品免费久久久久久久久久中文 | 日本丰满少妇免费一区 | 日韩免费三区 | 亚洲天堂自拍视频 | 99夜色 | av福利超碰网站 | 国产成在线观看免费视频 | 国产日产在线观看 | 黄色小网站在线 | 亚洲精品一区二区18漫画 | 91精品国产入口 | 久久久久久美女 | 伊人久久一区 | 久久超 | 婷婷精品国产欧美精品亚洲人人爽 | 亚洲乱码在线 | 亚洲天堂网在线播放 | 午夜电影一区 | av丁香| 久久国产精品成人免费浪潮 | 色吧av色av| 8090yy亚洲精品久久 | 亚洲激情影院 | 99精品在线免费 | 色婷婷精品大在线视频 | 麻豆视频网址 | 天天色天天干天天色 | 国产精品白虎 | 日日夜夜天天久久 | 91精品国产九九九久久久亚洲 | 日本公妇在线观看高清 | 天天av综合网 | a午夜在线| 天天天天天天天操 | 久久少妇免费视频 | 欧美国产一区在线 | 五月天婷亚洲天综合网精品偷 | 婷婷丁香激情综合 | 日韩在线视频一区二区三区 | 在线99热 | 成人免费亚洲 | 精品国产一二三四区 | 日韩网站在线看片你懂的 | 新版资源中文在线观看 | 亚洲在线激情 | 国产精品乱码久久 | 天天干天天干天天色 | 中文字幕电影高清在线观看 | 亚洲综合精品视频 | 91成人精品一区在线播放 | 午夜精品视频免费在线观看 | 天天爽夜夜操 | 成年人免费av网站 | 亚洲第一区在线观看 | 精品三级av | 亚洲性xxxx | 四虎在线视频 | 国产91精品高清一区二区三区 | 在线观看视频亚洲 | 一色屋精品视频在线观看 | 在线观看亚洲a | 五月婷婷在线视频 | 在线看一级片 | 亚洲aⅴ在线| 人人爽夜夜爽 | 正在播放国产91 | 久久精品人| 中文字幕第一页在线 | 欧美国产精品久久久久久免费 | 国产专区一 | 国产一区二区三区免费视频 | 日韩手机视频 | 国产一级电影免费观看 | 欧美精品在线一区 | 国产精品 日韩精品 | 免费看黄在线 | 成人午夜免费剧场 | 日韩在线免费小视频 | 亚洲国产美女精品久久久久∴ | 在线99视频 | 久久久久免费精品国产 | 天堂av在线免费观看 | h久久| 日韩精品无 | 久久久久久久久久久综合 | 色噜噜色噜噜 | 久视频在线播放 | 国产又粗又硬又长又爽的视频 | 麻豆一精品传二传媒短视频 | 中文字幕av播放 | 久久久99精品免费观看 | 中文字幕日韩无 | 欧美激情综合色 | 高清免费av在线 | 日日日视频 | 久草在线免费色站 | 日本成人黄色片 | 久久久久免费精品视频 | 久草视频在线新免费 | 日韩欧美一区视频 | 国产精品国产三级国产aⅴ无密码 | 九九国产精品视频 | 欧美午夜理伦三级在线观看 | 中日韩欧美精彩视频 | 久久久精品一区二区 | 国产特级毛片aaaaaaa高清 | 成人黄色在线 | 色丁香婷婷 | 精品国产伦一区二区三区观看说明 | 97国产精品免费 | 天天色成人| 国产黑丝袜在线 | 久久久黄色免费网站 | 国产精品理论片 | 日韩高清毛片 | 草免费视频 | 久久久久综合网 | 欧美日韩精品免费观看 | 色婷婷88av视频一二三区 | 亚洲精品国久久99热 | 久草视频中文 | 中文在线天堂资源 | 三级午夜片 | 91av视频播放 | 亚洲综合欧美精品电影 | 免费99| 中文字幕在线观看播放 | 久久中国精品 | 久草视频视频在线播放 | 日韩色在线 | 欧美性大战久久久久 | 成人小视频在线观看免费 | 免费亚洲婷婷 | 亚洲伊人成综合网 | 天天射色综合 | 91网页版在线观看 | zzijzzij亚洲日本少妇熟睡 | 国内成人综合 | 一区二区三区日韩在线观看 | 免费在线观看成人 | 日韩在线观看小视频 | 亚洲爱爱视频 | www.久久免费 | 免费高清在线视频一区· | 奇米影视在线99精品 | 99视频精品视频高清免费 | 一级精品视频在线观看宜春院 | 国产精品一区二区三区99 | 麻豆91精品91久久久 | 在线观看av免费观看 | 国产精品永久免费在线 | 亚洲人成在线观看 | 99久久精品国产免费看不卡 | 中文字幕在线观看视频一区二区三区 | 国产福利免费在线观看 | 久久观看免费视频 | 91成年视频 | 丁香婷婷综合网 | 免费看片网址 | 精品久久久久久久久中文字幕 | 国产成人精品久久 | 亚洲草视频 | 国产成人一二片 | 黄色成人免费电影 | 午夜免费电影院 | 精品毛片一区二区免费看 | 久草精品视频在线观看 | www.xxx.性狂虐| 在线免费观看的av | 麻豆精品视频 | 成人91在线| 亚a在线| 国产精品福利小视频 | 中文字幕网站 | 国产一级在线视频 | 91av手机在线观看 | 日韩大片在线免费观看 | 中文字幕成人一区 | 欧美另类xxx| 狠狠躁夜夜躁人人爽超碰91 | 欧美韩日在线 | 91av视屏| 久久艹国产 | 麻豆精品国产传媒 | 日韩毛片久久久 | 99精品视频在线观看播放 | 成人在线观看资源 | 国产麻豆精品久久一二三 | av网站地址 | 99热手机在线观看 | www.色com| 99视频黄| 欧美91精品 | 日韩高清在线一区二区 | 亚洲第一成网站 | 日韩久久久久久久久久久久 | 精品国产电影一区 | 国产淫片免费看 | 日本视频网 | 国产在线精品国自产拍影院 | 手机在线看片日韩 | av中文字幕网站 | 久久人人97超碰国产公开结果 | 中文字幕视频观看 | 成人毛片在线观看 | 成人福利在线 | 香蕉视频在线播放 | 久久久久久久毛片 | 99精品亚洲 | 久久精品第一页 | 免费av在线播放 | 欧美怡红院视频 | 国产精品乱码久久久久久1区2区 | 中国一区二区视频 | 日本视频精品 | 麻豆高清免费国产一区 | 在线精品视频在线观看高清 | 午夜.dj高清免费观看视频 | 丁香婷婷激情啪啪 | 狠狠狠色丁香综合久久天下网 | 中文字幕在线观看第二页 | 亚洲黄色在线 | 亚洲 欧美 91 | 91片在线观看 | 日本久久电影网 | 亚洲成人资源在线观看 | 亚洲精品mv在线观看 | 久久婷婷一区二区三区 | 久久久久这里只有精品 | 激情欧美一区二区三区 | 成人av在线影视 | 国产粉嫩在线 | 亚洲涩涩涩 | 成年人免费观看国产 | 色综合久久久久综合体 | 香蕉97视频观看在线观看 | 国产亚洲精品久久久久久 | 亚洲精品免费在线视频 | 天天摸天天操天天舔 | 天天色天天综合 | 国产成人在线观看 | 伊人六月| 一区二区三区四区免费视频 | 天堂网av在线 | 韩国三级一区 | 国产精品成人久久久久 | 看片一区二区三区 | 久久久久久久国产精品 | 日韩午夜电影网 | 色88久久| www.婷婷色 | 亚洲精品在线视频 | 国产第一二区 | 碰碰影院 | 日韩免费在线观看 | 久久久天堂 | 成人av中文字幕 | 黄色成人毛片 | 亚洲精品久久在线 | 日韩中文字幕免费视频 | 91精品国产欧美一区二区 | www.久久精品视频 | 久久国产精品视频免费看 | 日韩视频免费观看高清完整版在线 | 久久激情电影 | 欧美日韩xxx | aaa日本高清在线播放免费观看 | 日韩欧美视频免费看 | 久久视讯 | 精品久久国产精品 | 色姑娘综合 | av色影院 | 久草免费色站 | 国产一区二区网址 | 免费看黄的视频 | 成人在线免费观看视视频 | 亚洲成人动漫在线观看 | 国产亚洲精品久久久久久 | 国产精品一区二区久久久久 | 99久久精品国产免费看不卡 | 香蕉久草在线 | 五月天综合色 | 中文字幕在线字幕中文 | 六月丁香激情综合色啪小说 | 日韩欧美一区二区三区视频 | 青青河边草观看完整版高清 | www黄色|