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

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

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

「Spring認(rèn)證」什么是Spring GraphQL?

IT膠囊 ? 來(lái)源:「Spring」認(rèn)證安全架構(gòu) ? 作者:「Spring」認(rèn)證安全 ? 2021-08-10 14:08 ? 次閱讀

這個(gè)項(xiàng)目建立在 Boot 2.x 上,但它應(yīng)該與最新的 Boot2.4.x5 相關(guān)。

要?jiǎng)?chuàng)建項(xiàng)目,請(qǐng)轉(zhuǎn)到start.spring.io并為要使用的GraphQL傳輸選擇啟動(dòng)器:




依賴(lài){

實(shí)現(xiàn) 'org.springframework.experimental:graphql-spring-boot-starter:1.0.0-SNAPSHOT'

// ...

MavenCentral()

maven { url 'https://repo.spring.io/snapshot' } // Spring 快照

架構(gòu)

spring.graphql.schema.locations=classpath:graphql/

spring.graphql.schema.printer.enabled=false

你可以聲明RuntimeWiringConfigurer在 Spring 的配置與 GraphQL 引擎豆類(lèi)和使用這些登記的數(shù)據(jù)獲取程序,類(lèi)型旋轉(zhuǎn)變壓器,和更多:

公共類(lèi) PersonDataWiring 實(shí)現(xiàn) RuntimeWiringConfigurer {

私有的最終 PersonService 服務(wù);

公共 PersonDataWiring(PersonService 服務(wù)){

}

@覆蓋

builder.type("查詢(xún)", 接線(xiàn) ->

}

查詢(xún)dsl存儲(chǔ)庫(kù)

網(wǎng)絡(luò)搜索

spring.graphql.path=/graphql

spring.graphql.websocket.path=/graphql

# 必須從客戶(hù)端收到“CONNECTION_INIT”消息的時(shí)間

聲明一個(gè)WebInterceptorbean,通過(guò)HTTP和WebSocket請(qǐng)求在GraphQL的Web攔截中注冊(cè)。

GraphiQL

spring.graphql.graphiql.enabled=true

指標(biāo)

management.metrics.graphql.autotime.enabled=false

management.endpoints.web.exposure.include=health,metrics,info

請(qǐng)求訪(fǎng)問(wèn)位置/actuator/metrics/graphql.request

標(biāo)簽

描述

樣本值

結(jié)果

請(qǐng)求結(jié)果

“成功”、“錯(cuò)誤”

一個(gè)DataFetcher指標(biāo)定時(shí)器可在/actuator/metrics/graphql.datafetcher

標(biāo)簽

描述

樣本值

小路

數(shù)據(jù)獲取器路徑

“查詢(xún).項(xiàng)目”

結(jié)果

數(shù)據(jù)獲取結(jié)果

“成功”、“錯(cuò)誤”

錯(cuò)誤投票

測(cè)試

依賴(lài){

testImplementation 'org.springframework.graphql:spring-graphql-test:1.0.0-SNAPSHOT'

// 也添加這個(gè),除非 spring-boot-starter-webflux 也存在

}

存儲(chǔ)庫(kù){

maven { url 'https://repo.spring.io/milestone' } // 春季里程碑

}

@SpringBootTest

@AutoConfigureGraphQlTeste

私有 WebGraphQlTester graphQlTester;

}

針對(duì) Spring WebFlux 的基于 HTTP 的 GraphQL,使用模擬服務(wù)器:

@AutoConfigureWebTestClient

公共類(lèi) MockMvcGraphQlTests {

@自動(dòng)連線(xiàn)

@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)

公共類(lèi) MockMvcGraphQlTests {

@自動(dòng)連線(xiàn)

@SpringBootTest

公共類(lèi) MockMvcGraphQlTests {

@自動(dòng)連線(xiàn)

無(wú)效訂閱(){

.executeSubscription()

StepVerifier.create(result)

.expectNext("卓悅")

.verifyComplete();

訂閱測(cè)試直接針對(duì)WebGraphQlHandlerHTTP和WebSocket傳輸委托的對(duì)象執(zhí)行。它通過(guò)WebInterceptor鏈,然后調(diào)用GraphQL的Java返回一個(gè)響應(yīng)流Publisher。

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

    關(guān)注

    19

    文章

    2952

    瀏覽量

    104480
  • spring
    +關(guān)注

    關(guān)注

    0

    文章

    338

    瀏覽量

    14295
  • GraphQL
    +關(guān)注

    關(guān)注

    0

    文章

    14

    瀏覽量

    558
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Spring事務(wù)實(shí)現(xiàn)原理

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

    Spring Cloud Gateway網(wǎng)關(guān)框架

    Spring Cloud Gateway網(wǎng)關(guān)框架 本軟件微服務(wù)架構(gòu)中采用Spring Cloud Gateway網(wǎng)關(guān)控制框架,Spring Cloud Gateway是Spring C
    的頭像 發(fā)表于 08-22 09:58 ?413次閱讀
    <b class='flag-5'>Spring</b> Cloud Gateway網(wǎng)關(guān)框架

    玩轉(zhuǎn)Spring狀態(tài)機(jī)

    說(shuō)起Spring狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒(méi)錯(cuò),Spring狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹Spring狀態(tài)機(jī)之前,讓我們來(lái)看看設(shè)計(jì)模式中的狀態(tài)模式
    的頭像 發(fā)表于 06-25 14:21 ?855次閱讀
    玩轉(zhuǎn)<b class='flag-5'>Spring</b>狀態(tài)機(jī)

    Spring事務(wù)傳播性的相關(guān)知識(shí)

    本文主要介紹了Spring事務(wù)傳播性的相關(guān)知識(shí)。
    的頭像 發(fā)表于 01-10 09:29 ?387次閱讀
    <b class='flag-5'>Spring</b>事務(wù)傳播性的相關(guān)知識(shí)

    Spring狀態(tài)機(jī)的實(shí)現(xiàn)原理和使用方法

    說(shuō)起 Spring 狀態(tài)機(jī),大家很容易聯(lián)想到這個(gè)狀態(tài)機(jī)和設(shè)計(jì)模式中狀態(tài)模式的區(qū)別是啥呢?沒(méi)錯(cuò),Spring 狀態(tài)機(jī)就是狀態(tài)模式的一種實(shí)現(xiàn),在介紹 Spring 狀態(tài)機(jī)之前,讓我們來(lái)看看設(shè)計(jì)模式中的狀態(tài)模式。
    的頭像 發(fā)表于 12-26 09:39 ?1834次閱讀
    <b class='flag-5'>Spring</b>狀態(tài)機(jī)的實(shí)現(xiàn)原理和使用方法

    Spring事務(wù)失效的十種常見(jiàn)場(chǎng)景

    Spring針對(duì)Java Transaction API (JTA)、JDBC、Hibernate和Java Persistence API(JPA)等事務(wù) API,實(shí)現(xiàn)了一致的編程模型,而
    的頭像 發(fā)表于 12-11 15:03 ?834次閱讀

    Spring中經(jīng)典的9種設(shè)計(jì)模式

    spring中常用的設(shè)計(jì)模式達(dá)到九種,我們一一舉例
    的頭像 發(fā)表于 12-11 09:56 ?898次閱讀
    <b class='flag-5'>Spring</b>中經(jīng)典的9種設(shè)計(jì)模式

    dubbo和spring cloud區(qū)別

    Dubbo和Spring Cloud是兩個(gè)非常流行的微服務(wù)框架,各有自己的特點(diǎn)和優(yōu)勢(shì)。在本文中,我們將詳細(xì)介紹Dubbo和Spring Cloud的區(qū)別。 1.架構(gòu)設(shè)計(jì): Dubbo是阿里巴巴開(kāi)源
    的頭像 發(fā)表于 12-04 14:47 ?1548次閱讀

    Spring中依賴(lài)注入的四種方式

    Spring框架中,依賴(lài)注入是一種核心的概念和機(jī)制。通過(guò)依賴(lài)注入,我們可以讓對(duì)象之間的依賴(lài)關(guān)系更加松散,并且能夠方便地進(jìn)行單元測(cè)試和模塊化開(kāi)發(fā)。在Spring中,有多種方式來(lái)實(shí)現(xiàn)依賴(lài)注入,下面將
    的頭像 發(fā)表于 12-03 15:11 ?1826次閱讀

    Spring MVC的工作原理

    Spring MVC是一種基于Java的Web應(yīng)用程序框架,它采用了Model-View-Controller(MVC)設(shè)計(jì)模式來(lái)分離應(yīng)用程序的不同方面。Spring MVC的工作原理涉及多個(gè)關(guān)鍵
    的頭像 發(fā)表于 12-03 11:49 ?726次閱讀

    Spring Boot 3.2支持虛擬線(xiàn)程和原生鏡像

    Spring Boot 3.2 前幾日發(fā)布,讓我們用 Java 21、GraalVM 和虛擬線(xiàn)程來(lái)嘗試一下。
    的頭像 發(fā)表于 11-30 16:22 ?671次閱讀

    Spring MVC的工作原理是怎樣的

    Spring MVC是一種基于Java的Web框架,它充分利用了Java的優(yōu)點(diǎn),如面向?qū)ο缶幊獭⒛K化、可重用性和可擴(kuò)展性。Spring MVC的工作原理可以總結(jié)為以下幾個(gè)步驟:請(qǐng)求的發(fā)送、請(qǐng)求
    的頭像 發(fā)表于 11-22 16:53 ?809次閱讀

    Spring依賴(lài)注入的方式

    Spring 是一個(gè)開(kāi)源的輕量級(jí)框架,可以用于構(gòu)建企業(yè)級(jí)應(yīng)用程序。其最重要的特性之一是依賴(lài)注入(Dependency Injection,DI),這是一種設(shè)計(jì)模式,它可以幫助我們解耦代碼、提高
    的頭像 發(fā)表于 11-22 15:12 ?443次閱讀

    spring分布式框架有哪些

    Spring分布式框架是一套基于Spring框架的解決方案,用于構(gòu)建分布式系統(tǒng)。它提供了一系列的組件和模塊,可以幫助開(kāi)發(fā)人員輕松地構(gòu)建可擴(kuò)展、高可用、高性能的分布式應(yīng)用程序。下面將詳細(xì)介紹一些常用
    的頭像 發(fā)表于 11-16 10:58 ?735次閱讀

    Spring布能用來(lái)搭建基礎(chǔ)架構(gòu)嗎

    Spring Boot 是一個(gè)用于簡(jiǎn)化 Spring 應(yīng)用程序開(kāi)發(fā)的框架,它利用 Spring 框架的強(qiáng)大功能,使得基礎(chǔ)架構(gòu)的搭建變得更加簡(jiǎn)單、輕量級(jí)、易于維護(hù)。在本文中,我們將詳細(xì)討論
    的頭像 發(fā)表于 11-16 10:56 ?362次閱讀