精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

Spring認證_什么是Spring GraphQL?

IT膠囊 ? 來源:「Spring」認證安全架構 ? 作者:「Spring」認證安全 ? 2021-08-09 11:31 ? 次閱讀

數據整合

Spring GraphQL 支持使用Querydsl通過 Spring Data Querydsl 擴展來獲取數據。Querydsl 提供了一種靈活但類型安全的方法,通過使用注釋處理器生成元模型來表達謂詞。

公共接口 AccountRepository 擴展了 Repository,,>

}

然后用它來創建一個DataFetcher

DataFetcher dataFetcher =

DataFetcher> dataFetcher =

所述DataFetcher構建一個QuerydslPredicate從GraphQL請求參數,并使用它來獲取數據。Spring Data支持QuerydslPredicateExecutorJPA、MongoDB和LDAP。

Spring GraphQL 存儲庫中的 webmvc-http 示例使用 Querydsl 來獲取artifactRepositories。

Querydsl 允許集成Predicate通過接受一個來自定義綁定到一個的請求QuerydslBinderCustomizer。對于請求中的可用參數,請求參數默認綁定為“等于”。

自動注冊

存儲庫必須使用@GraphQlRepository。默認情況下,查詢返回的 GraphQL 類型名稱必須與存儲庫域類型的簡單名稱匹配。如果它們不匹配,您可以使用的typeName屬性@GraphQlRepository來設置 GraphQL 類型名稱。

安全

要應用更細粒度的安全性,Spring Security 中注釋添加到涉及獲取 GraphQL 響應的特定部分的服務方法,例如@PreAuthorize@Secured。由于上下文傳達使安全性和其他上下文在數據獲取級別可用,因此應該是

測試

GraphQlTester

要創建GraphQlTester,您只需要一個GraphQlService,不需要傳輸:

.schemaResources(...)

。建造();

GraphQlService graphQlService = new ExecutionGraphQlService(graphQlSource);

WebGraphQlTester

如果沒有 WebFlux,你可以支持你的 Spring 配置:

WebTestClient.bindToApplicationContext(上下文)

.baseUrl("/graphql")

WebGraphQlTester 測試器 = WebGraphQlTester.builder(client).build();

WebApplicationContext 上下文 = ... ;

WebTestClient 客戶端 =

.configureClient()

。建造();

對于實時運行的服務器的測試:

WebTestClient.bindToServer()

。建造();

查詢

字符串查詢 = "{" +

" 發布 {" +

" }"+

"}";

graphQlTester.query(查詢)

.path("project.releases[*].version")

.hasSizeGreaterThan(1);

錯誤

graphQlTester.query(查詢)

.錯誤()

。核實()

.entityList(String.class)

錯誤過濾器可以注冊并滲入所有測試:

.errorFilter(error -> ...)

或者直接檢查所有錯誤,將它們標記為已過濾:

。執行()

.satisfy(錯誤 -> {

});

如果請求沒有任何響應數據(例如狀態),則使用executeAndVerify代替execute來驗證響應中沒有錯誤:

訂閱

要測試訂閱,您可以GraphQlTester創建創建GraphQlServicegraphql.GraphQL直接調用并返回響應流:

.executeSubscription()

Flux result = graphQlTester.query("訂閱{問候}")

.toFlux("問候", String.class);

StepVerifier.create(result)

.expectNext("卓悅")

.verifyComplete();

要使用Web攔截鏈進行測試,您可以創建WebGraphQlTester一個WebGraphQlHandler

.interceptor((input, next) -> next.handle(input))

WebGraphQlTester graphQlTester = WebGraphQlTester.builder(handler).build();

未完待續……

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

    關注

    19

    文章

    2960

    瀏覽量

    104565
  • spring
    +關注

    關注

    0

    文章

    338

    瀏覽量

    14312
  • GraphQL
    +關注

    關注

    0

    文章

    14

    瀏覽量

    564
收藏 人收藏

    評論

    相關推薦

    Spring事務實現原理

    作者:京東零售 范錫軍 1、引言 springspring-tx模塊提供了對事務管理支持,使用spring事務可以讓我們從復雜的事務處理中得到解脫,無需要去處理獲得連接、關閉連接、事務提交和回滾等
    的頭像 發表于 11-08 10:10 ?747次閱讀
    <b class='flag-5'>Spring</b>事務實現原理

    Spring Cloud Gateway網關框架

    Spring Cloud Gateway網關框架 本軟件微服務架構中采用Spring Cloud Gateway網關控制框架,Spring Cloud Gateway是Spring C
    的頭像 發表于 08-22 09:58 ?439次閱讀
    <b class='flag-5'>Spring</b> Cloud Gateway網關框架

    玩轉Spring狀態機

    說起Spring狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring狀態機就是狀態模式的一種實現,在介紹Spring狀態機之前,讓我們來看看設計模式中的狀態模式
    的頭像 發表于 06-25 14:21 ?889次閱讀
    玩轉<b class='flag-5'>Spring</b>狀態機

    Spring事務傳播性的相關知識

    本文主要介紹了Spring事務傳播性的相關知識。
    的頭像 發表于 01-10 09:29 ?409次閱讀
    <b class='flag-5'>Spring</b>事務傳播性的相關知識

    使用Spring Boot 3.2虛擬線程搭建靜態文件服務器

    Spring Boot 3.2 于 2023 年 11 月大張旗鼓地發布,標志著 Java 開發領域的一個關鍵時刻。這一突破性的版本引入了一系列革命性的功能。
    的頭像 發表于 01-09 09:34 ?1086次閱讀
    使用<b class='flag-5'>Spring</b> Boot 3.2虛擬線程搭建靜態文件服務器

    Spring狀態機的實現原理和使用方法

    說起 Spring 狀態機,大家很容易聯想到這個狀態機和設計模式中狀態模式的區別是啥呢?沒錯,Spring 狀態機就是狀態模式的一種實現,在介紹 Spring 狀態機之前,讓我們來看看設計模式中的狀態模式。
    的頭像 發表于 12-26 09:39 ?1879次閱讀
    <b class='flag-5'>Spring</b>狀態機的實現原理和使用方法

    Spring事務失效的十種常見場景

    Spring針對Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API(JPA)等事務 API,實現了一致的編程模型,而
    的頭像 發表于 12-11 15:03 ?866次閱讀

    【飛騰派4G版免費試用】Spring Boot和飛騰派融合構建的農業物聯網系統-環境搭建篇

    ntpdate-u 120.25.108.11) 7.安裝MySQL服務器(sudo apt install mysql -server) 遇到問題: 1測試中板子TF卡處發熱較為嚴重。 下期更新: Spring Boot和飛騰派融合構建的農業物聯網系統-實現篇1
    發表于 12-11 15:00

    Spring中經典的9種設計模式

    spring中常用的設計模式達到九種,我們一一舉例
    的頭像 發表于 12-11 09:56 ?940次閱讀
    <b class='flag-5'>Spring</b>中經典的9種設計模式

    dubbo和spring cloud區別

    Dubbo和Spring Cloud是兩個非常流行的微服務框架,各有自己的特點和優勢。在本文中,我們將詳細介紹Dubbo和Spring Cloud的區別。 1.架構設計: Dubbo是阿里巴巴開源
    的頭像 發表于 12-04 14:47 ?1626次閱讀

    如何在Spring Boot應用程序中整合ZXing庫

    在數字化時代,二維碼已經成為了信息交流的一種常見方式。它們被廣泛用于各種應用,從產品標簽到活動傳單,以及電子支付。本文將向您展示如何在Spring Boot應用程序中整合ZXing庫,以創建和解析QR碼。
    的頭像 發表于 12-03 17:39 ?1062次閱讀

    springboot框架主要用來做什么

    Spring Boot是一個用來簡化Spring應用開發的框架,它使得開發人員能夠快速搭建起一個獨立的、可執行的、基于Spring的應用程序。Spring Boot的設計目的是為了讓開
    的頭像 發表于 12-03 15:14 ?1494次閱讀

    Spring中依賴注入的四種方式

    Spring框架中,依賴注入是一種核心的概念和機制。通過依賴注入,我們可以讓對象之間的依賴關系更加松散,并且能夠方便地進行單元測試和模塊化開發。在Spring中,有多種方式來實現依賴注入,下面將
    的頭像 發表于 12-03 15:11 ?1914次閱讀

    Spring MVC的工作原理

    Spring MVC是一種基于Java的Web應用程序框架,它采用了Model-View-Controller(MVC)設計模式來分離應用程序的不同方面。Spring MVC的工作原理涉及多個關鍵
    的頭像 發表于 12-03 11:49 ?749次閱讀

    Spring Boot 3.2支持虛擬線程和原生鏡像

    Spring Boot 3.2 前幾日發布,讓我們用 Java 21、GraalVM 和虛擬線程來嘗試一下。
    的頭像 發表于 11-30 16:22 ?691次閱讀