Java >> Java tutorial >  >> Tag >> Spring

Hvordan integrerer man GraphiQL med Spring-Boot?

Mit mål er at bygge en GraphQL-server på Spring med (1) GraphiQL IDE (2) dynamisk GraphQL-skema under kørsel. Min GraphQL-motor er GraphQL-Java.

I mit første forsøg bruger jeg graphql-java-spring-boot-starter-webmvc og graphiql-spring-boot-starter .
Både GraphQL-serveren og GraphiQL fungerer godt.
Men under graphql-java-spring-boot-starter-webmvc framework, er en @Bean of GraphQL klasse nødvendig. I denne bean indlæses skemaet, når serveren starter, så det kunne ikke opdateres.

I mit andet forsøg bruger jeg ikke graphql-java-spring-boot-starter-webmvc . I stedet vælger jeg spring-boot-starter-web at starte webserveren og definere min egen RestController. Dette er nemt at opdatere GraphQL-instansen. Men jeg kan ikke finde en måde at integrere med GraphiQL. Jeg googlede GraphiQL+Spring, men alle løsninger er med graphql-java-spring-boot-starter .

Tak, hvis nogen kunne give mig en idé om begge tilgange.

Svar

Har du et eksempel på din opsætning i git?

  • Det lyder som et eller andet konfigurationsproblem. Men naturligvis ved at bruge graphql-java-spring-boot-starter-webmvc alle dine *.graphql skemaer skal hentes i den konfigurerede skemaressourcesti. tjek om du har sat stien i din application.yml eller hvis dit skema er i den konfigurerede sti, hvis det allerede er indstillet eller som standard.

Om dit andet punkt:"Jeg googlede GraphiQL+Spring, men alle løsninger er med graphql-java-spring-boot-starter."

  • Dette giver mening for hurtige vejledninger og demoer, da VVS-systemet ved brug af Springboot på en eller anden måde er gemt væk fra dig, så du kan fokusere på den aktuelle teknologi, der skal demonstreres i dette tilfælde GraphQl.

På GraphiQL:

  • Det lyder som om du har til hensigt at få dette indlejret i din applikation, men du vil måske ikke gøre det i produktionen. Afhængigt af din brugssituation er der mange andre alternativer, der er selvstændige og giver dig alle funktionerne fra GraphiQL plus mere, f.eks. Altair Graphql Client og Søvnløshed for at nævne nogle få.

Java tag