国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Spring認證_什么是Spring GraphQL

IT膠囊 ? 來源:「Spring」認證安全架構(gòu) ? 作者:「Spring」認證安全 ? 2021-08-06 14:30 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Spring GraphQL 為構(gòu)建在 GraphQL Java 上的 Spring 應(yīng)用程序提供支持。兩個團隊之間的聯(lián)合聯(lián)合。我們的共同理念是少固執(zhí)己見,更專注于全面和廣泛的支持。

Spring GraphQL 是 GraphQL Java 團隊的 GraphQL Java Spring 項目的繼承者。它將成為所有 Spring、GraphQL 應(yīng)用程序的基礎(chǔ)。

網(wǎng)絡(luò)傳輸

Spring GraphQL 支持通過 HTTP 和 WebSocket 的 GraphQL 請求。

HTTP

GraphQlHttpHandler通過 HTTP 請求處理 GraphQL,并委托給 Web 攔截執(zhí)行請求。有兩種變體,一種用于 Spring MVC,一種用于 Spring WebFlux。分別依賴周期性和非周期性 I/O 來寫 HTTP 響應(yīng)。

請求必須使用 HTTP POST 和 GraphQL 請求詳細信息作為 JSON 包含在請求正文中,如提議的 GraphQL over HTTP 規(guī)范中定義。成功解碼 JSON 正文后,HTTP 響應(yīng)狀態(tài)始終為 200(OK),并且 GraphQL 請求執(zhí)行中任何錯誤都出現(xiàn)在 GraphQL 響應(yīng)的“錯誤”部分。

GraphQlHttpHandler可以通過聲明一個RouterFunctionbean 并使用RouterFunctions來自 Spring MVC 或 WebFlux 的來創(chuàng)建路由來作為 HTTP 公開公開。啟動啟動器執(zhí)行此操作。

Spring GraphQL 存儲庫包含一個 Spring MVC HTTP 示例應(yīng)用程序。

網(wǎng)絡(luò)結(jié)果

GraphQlWebSocketHandler基于graphql的協(xié)議通過WebSocket請求處理Graphws庫。在WebSocket上使用GraphQL的結(jié)果是訂閱,它允許發(fā)送GraphQL響應(yīng)流,但它也可以用于有一次響應(yīng)的經(jīng)常查詢處理程序。個請求委托給Web攔截鏈以進一步執(zhí)行請求。

有兩種變體GraphQlWebSocketHandler,用于一種Spring MVC,用于Spring WebFlux。 回流處理請求并具有強大的壓處理功能。消息,這很有效,因為在 GraphQL Java 中訂閱響應(yīng)是 Reactive Streams Publisher

graphql-ws項目已經(jīng)全部供客戶使用的配方。

GraphQlWebSocketHandler通過聲明SimpleUrlHandlerMappingbean 并可以使用通信處理程序映射到 URL 路徑來公開為 WebSocket 需求。啟動啟動器具有啟用此功能的選項,詳細信息或檢查或例如配置,請參閱 Web 頁面。GraphQlWebMvcAutoConfigurationGraphQlWebFluxAutoConfiguration

Spring GraphQL 存儲庫包含一個 WebFlux WebSocket 示例應(yīng)用程序。

網(wǎng)頁攔截

HTTP和WebSocket的傳輸處理程序委托給一個通用的網(wǎng)絡(luò)攔截鏈來執(zhí)行請求。鏈該由一系列WebInterceptor組件組成,一個后跟GraphQlService調(diào)用GraphQL的Java引擎的。

WebInterceptor在 Spring MVC 和 WebFlux 應(yīng)用程序中使用的通用組件。使用它來攔截請求、檢查 HTTP 請求標頭或注冊以下內(nèi)容的轉(zhuǎn)換graphql.ExecutionInput

類 MyInterceptor 實現(xiàn)了 WebInterceptor {

@覆蓋

public Mono 攔截(WebInput webInput, WebGraphQlHandler next) {

webInput.configureExecutionInput((executionInput, builder) -> {

Map map = ... ;,>

返回 builder.extensions(map).build();

});

返回 next.handle(webInput);

}

}

使用WebInterceptor也攔截響應(yīng),增加HTTP響應(yīng)頭,或轉(zhuǎn)換graphql.ExecutionResult

類 MyInterceptor 實現(xiàn)了 WebInterceptor {

@覆蓋

public Mono 攔截(WebInput webInput, WebGraphQlHandler next) {

返回 next.handle(webInput)

.map(webOutput -> {

對象數(shù)據(jù) = webOutput.getData();

對象更新數(shù)據(jù) = ... ;

返回 webOutput.transform(builder -> builder.data(updatedData));

});

}

}

WebGraphQlHandler提供了一個builder來初始化Web攔截鏈。構(gòu)建鏈后,您可以使用結(jié)果WebGraphQlHandler來初始化HTTP或WebSocket傳輸處理程序。啟動器配置了所有這些,有關(guān)詳細信息,請參見Web Endpoints,或檢查GraphQlWebMvcAutoConfigurationGraphQlWebFluxAutoConfiguration配置。

查詢執(zhí)行

GraphQlService是調(diào)用GraphQL Java 來執(zhí)行請求的主要Spring GraphQL 抽象。通過傳輸,例如Web 傳輸,委托GraphQlService來處理請求。

主要實現(xiàn)ExecutionGraphQlService是圍繞著調(diào)用的薄外觀graphql.GraphQL。它配置了一個GraphQlSource用于訪問graphql.GraphQL實例。

GraphQLSource

GraphQlSource是核心 Spring GraphQL 抽象,用于訪問graphql.GraphQL請求執(zhí)行的實例。它提供了一個構(gòu)建器 API 來初始化 GraphQL Java 并構(gòu)建一個GraphQlSource

GraphQlSource可通過訪問的默認構(gòu)建器GraphQlSource.builder()支持Reactive DataFetcher、Context Propagation和Exception Resolution。

反應(yīng)式 DataFetcher

默認GraphQlSource構(gòu)建器啟用對一個DataFetcher報道查看Mono或的請立即獲取iTunes Flux。報道查看無論類型適合在一個CompletableFutureFlux聚集,變成了一個列表值,除非請求是GraphQL訂閱請求,這種在情況下報道查看值保持在無流Publisher的流GraphQL響應(yīng)。

反應(yīng)式DataFetcher可以依賴對從傳輸層傳播的 Reactor 上下文的訪問,例如來自 WebFlux 請求處理,請參閱 WebFlux 上下文。

大約傳播

Spring GraphQL 支持從Web 傳輸、通過GraphQL 引擎以及DataFetcher它調(diào)用的其他組件透明地傳播上下文。這包括ThreadLocal來自SpringMVC 請求處理線程的上下文和Context來自WebFlux 處理管道的Reactor。

網(wǎng)管

DataFetcherGraphQL Java 調(diào)用的 A 和其他組件可能并不總是在與 Spring MVC 處理程序相同的線程上執(zhí)行,例如如果異步WebInterceptorDataFetcher切換到不同的線程。

Spring GraphQL 支持將ThreadLocal值從容器線程傳播到線程DataFetcher以及由 GraphQL 引擎調(diào)用的其他組件執(zhí)行。因此,應(yīng)用程序需要創(chuàng)建一個ThreadLocalAccessorThreadLocal提取生物的值:

公共類 RequestAttributesAccessor 實現(xiàn) ThreadLocalAccessor {

private static final String KEY = RequestAttributesAccessor.class.getName();

@覆蓋

公共無效提取值(地圖<字符串,對象>容器){

container.put(KEY, RequestContextHolder.getRequestAttributes());

}

@覆蓋

public void restoreValues(Map values) {,>

if (values.containsKey(KEY)) {

RequestContextHolder.setRequestAttributes((RequestAttributes) values.get(KEY));

}

}

@覆蓋

public void resetValues(Map values) {,>

RequestContextHolder.resetRequestAttributes();

}

}

一個ThreadLocalAccessor可以在 WebGraphHandler 構(gòu)建器中注冊。Boot starter 檢測這種類型的 bean 并自動為 Spring MVC 應(yīng)用程序注冊它們,請參見 Web Endpoints。

網(wǎng)絡(luò)流量

一個反應(yīng)DataFetcher可以從獲取反應(yīng)背景下,WebFlux 口頭請求處理鏈。這包括由 WebInterceptor 組件添加的 Reactor 上下文。

異常解決

GraphQL Java 應(yīng)用程序可以注冊一個DataFetcherExceptionHandler來決定如何在 GraphQL 響應(yīng)的“錯誤”部分中表示來自數(shù)據(jù)層的異常。

Spring GraphQL 有一個內(nèi)置的DataFetcherExceptionHandler,配置為供GraphQLSource構(gòu)建器使用。它使應(yīng)用程序注冊一個或多個DataFetcherExceptionResolver順序調(diào)用的 Spring 組件,直到將解析Exceptiongraphql.GraphQLError對象列表。

DataFetcherExceptionResolver是一個異步契約。對于大多數(shù)實現(xiàn),這將是悉尼的擴展DataFetcherExceptionResolverAdapter和覆蓋其一個resolveToSingleErrorresolveToMultipleErrors方法是解決異常同步。

AGraphQLError可以分配一個graphql.ErrorClassificationSpring GraphQL 定義了一個ErrorType常見錯誤分類類別的枚舉:

  • BAD_REQUEST

  • UNAUTHORIZED

  • FORBIDDEN

  • NOT_FOUND

  • INTERNAL_ERROR

應(yīng)用程序可以使用它來分類錯誤。如果它錯誤解決,則默認情況下將標記為INTERNAL_ERROR

未完待續(xù)……

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    3001

    瀏覽量

    116419
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

    15935
  • GraphQL
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    801
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    TLE989x EvalBoard with TQFP/LQFP spring socket v01_1 評估板深度解析

    TLE989x EvalBoard with TQFP/LQFP spring socket v01_1 評估板深度解析 在電子設(shè)計領(lǐng)域,評估板是我們探索和驗證新器件性能的重要工具。今天,我們就來
    的頭像 發(fā)表于 12-20 10:40 ?1382次閱讀

    一款基于Java+Spring Boot+Vue的智慧隨訪管理系統(tǒng)源碼

    智慧隨訪管理系統(tǒng)源碼,一款基于Java+Spring Boot+Vue的B/S架構(gòu)醫(yī)院隨訪管理系統(tǒng)源碼,采用前后端分離技術(shù)(Ant-Design+MySQL5),具有自主版權(quán)和落地案例。 隨訪管理
    的頭像 發(fā)表于 11-13 15:38 ?395次閱讀
    一款基于Java+<b class='flag-5'>Spring</b> Boot+Vue的智慧隨訪管理系統(tǒng)源碼

    燈具CQC節(jié)能認證辦理

    一、什么是CQC節(jié)能認證CQC節(jié)能認證是由中國質(zhì)量認證中心(CQC)依據(jù)國家能效標準,對產(chǎn)品能效性能進行檢測和評定的一項自愿性認證。該認證
    的頭像 發(fā)表于 11-08 15:52 ?749次閱讀
    燈具CQC節(jié)能<b class='flag-5'>認證</b>辦理

    藍牙BQB認證是什么

    藍牙BQB認證(BluetoothQualificationBodyCertification),是由藍牙技術(shù)聯(lián)盟(BluetoothSIG
    的頭像 發(fā)表于 11-04 17:14 ?974次閱讀
    藍牙BQB<b class='flag-5'>認證</b>是什么

    哪些產(chǎn)品要做MIC認證呢?

    日本MIC認證(由日本總務(wù)省監(jiān)管)主要針對無線通信類產(chǎn)品和連接公共電信網(wǎng)絡(luò)的設(shè)備。下面用簡單明了的方式告訴你——哪些產(chǎn)品必須做MIC認證、哪些不用。一、必須做MIC認證的產(chǎn)品1.含無線功能的產(chǎn)品
    的頭像 發(fā)表于 10-30 16:49 ?824次閱讀
    哪些產(chǎn)品要做MIC<b class='flag-5'>認證</b>呢?

    srrc認證是強制認證嗎?

    是的,SRRC認證是中國強制性認證。根據(jù)《中華人民共和國無線電管理條例》,所有在中國境內(nèi)銷售和使用的無線電發(fā)射設(shè)備,都必須申請并取得無線電型號核準認證,也就是SRRC認證。一、為什么S
    的頭像 發(fā)表于 10-23 17:30 ?860次閱讀
    srrc<b class='flag-5'>認證</b>是強制<b class='flag-5'>認證</b>嗎?

    3C認證派生是什么意思?

    3C認證派生,也叫3C派生認證或3C證書派生申請,是指在已有產(chǎn)品獲得3C認證(中國強制性產(chǎn)品認證,CCC)基礎(chǔ)上,當企業(yè)新增加型號、款式或結(jié)構(gòu)上略有變更的產(chǎn)品時,不必重新做全部測試,而
    的頭像 發(fā)表于 10-21 15:29 ?1131次閱讀
    3C<b class='flag-5'>認證</b>派生是什么意思?

    TELEC認證怎么辦理

    一、TELEC認證簡介TELEC認證是日本針對無線通信設(shè)備實施的一項強制性認證制度,完整名稱為“TelecomEngineeringCenter”。該認證由日本總務(wù)省(MIC)授權(quán)的T
    的頭像 發(fā)表于 10-17 11:28 ?358次閱讀
    TELEC<b class='flag-5'>認證</b>怎么辦理

    電子產(chǎn)品SIRIM認證要求

    SIRIM認證是馬來西亞強制性認證,適用于電子電器、無線通信、家電、IT產(chǎn)品等多個品類。下面是SIRIM認證的核心要求和辦理指南:一、SIRIM認證簡介主管機構(gòu):馬來西亞通訊與多媒體委
    的頭像 發(fā)表于 07-29 17:40 ?1986次閱讀
    電子產(chǎn)品SIRIM<b class='flag-5'>認證</b>要求

    Spring攔截器:你的請求休想逃過我的五指山!

    Spring框架中,攔截器(Interceptor)是一種強大的機制,它允許開發(fā)者在請求處理的不同階段插入自定義邏輯。WebApplicationContext作為Spring Web應(yīng)用的上下文容器,為攔截器的配置和管理提供了基礎(chǔ)支持。
    的頭像 發(fā)表于 07-26 11:25 ?685次閱讀
    <b class='flag-5'>Spring</b>攔截器:你的請求休想逃過我的五指山!

    哪些產(chǎn)品要做ncc認證

    NCC認證(臺灣通訊傳播委員會認證)是臺灣地區(qū)對具備無線通信功能的設(shè)備實施的強制性認證制度。只要產(chǎn)品具有射頻發(fā)射或接收功能,基本上都要通過 NCC 型式認證才能合法在臺灣市場銷售和使用
    的頭像 發(fā)表于 07-22 17:19 ?1179次閱讀
    哪些產(chǎn)品要做ncc<b class='flag-5'>認證</b>?

    一文了解什么是 BQB 認證

    在藍牙產(chǎn)品快速普及的今天,無論是藍牙耳機、音箱、手表,還是智能家居、車載設(shè)備,只要你的產(chǎn)品宣稱使用了藍牙技術(shù),就必須通過BQB認證。那么,BQB認證是什么?為什么它如此重要?該怎么做?本文為你一次
    的頭像 發(fā)表于 07-18 14:53 ?1882次閱讀
    一文了解什么是 BQB <b class='flag-5'>認證</b>

    電能表PTB認證與Eichrecht認證,哪個含金量更高?

    PTB認證與Eichrecht認證的本質(zhì)差異對比
    的頭像 發(fā)表于 07-16 14:34 ?902次閱讀
    電能表PTB<b class='flag-5'>認證</b>與Eichrecht<b class='flag-5'>認證</b>,哪個含金量更高?

    HarmonyOS5云服務(wù)技術(shù)分享--云緩存快速上手指南

    = pool.getResource()) { String value = jedis.get(\"name\"); } 3.2 Spring RedisTemplate(推薦企業(yè)級使用) ??優(yōu)勢
    發(fā)表于 05-22 18:37

    銳寶智聯(lián)精彩亮相Japan IT Week Spring 2025

    Japan IT Week Spring 2025于 4 月 23 日至 25 日在日本東京有明國際會展中心隆重舉行。該展是日本乃至亞洲最具影響力的IT消費電子展之一,吸引來自全球各地的IT企業(yè)
    的頭像 發(fā)表于 04-30 16:43 ?974次閱讀