Commit Graph

31 Commits

Author SHA1 Message Date
Brian Clozel
8eb3cfd19d Update build status badge in README 2024-04-16 17:31:44 +02:00
Eric Haag
4ccf8fa84d Add Revved up by Develocity badge 2024-01-23 18:46:23 +00:00
roksui
b200ec9eca Fix typo in README.md 2023-08-21 17:07:53 +02:00
Brian Clozel
df5748cc5e Update links to reference docs in README 2023-08-18 14:47:04 +02:00
Siva Kumar Edupuganti
f406e63e78 Added getting support links
Closes gh-621
2023-08-18 14:44:34 +02:00
Brian Clozel
9e07e8a5a0 Upgrade build badge for 1.2.x generation 2023-05-15 10:52:37 +02:00
rstoyanchev
0baceda48c Remove samples from main
We no longer build the samples in the main branch due to dependency
issues between Boot starter dependencies and the project sources.
The samples really need to move out to an independent repository.
For now, this commit removes them from the main branch.

See gh-208
2022-11-24 11:06:45 +00:00
Brian Clozel
a9e4324562 Fix CI build status badge in README
The CI pipeline has been renamed to spring-graphql-1.0.x.
2022-05-18 17:04:33 +02:00
rstoyanchev
e71ea056bd Switch to icon without text
Closes gh-329
2022-03-22 18:47:38 +00:00
rstoyanchev
32930f7e88 Add logo to README.md 2022-02-09 10:51:32 +00:00
rstoyanchev
7a7e2e87dc Update project name to Spring for GraphQL
Closes gh-255
2022-01-13 12:16:02 +00:00
Rossen Stoyanchev
16ee8ecde0 Add link to samples from top-level README 2021-07-06 16:23:28 +01:00
Rossen Stoyanchev
5b444d0ef1 Fix link to source of reference docs 2021-07-02 20:29:32 +01:00
Brian Clozel
4333ab603a Fix links in READMEs 2021-07-01 09:48:24 +02:00
Brian Clozel
e8d8122d76 Remove duplicate reference documentation
Now that the reference documentation has been moved to its proper
toolchain, we can remove its former copy from the README file.

See gh-76
2021-06-30 17:59:45 +02:00
Brian Clozel
fdf446f3e6 Load multiple GraphQL schema files
Prior to this commit, the `spring.graphql.schema.location` would only
allow a single file as the source for the GraphQL schema.

This commit changes this configuration to
`spring.graphql.schema.locations` so that it accepts actual locations
(folders) and scans for `*.graphqls` files in those locations. All files
are parsed and merged as a single GraphQL `TypeDefinitionRegistry`.

Closes gh-56
2021-06-29 21:27:18 +02:00
Brian Clozel
eef61843d3 Add property for GraphiQL UI path
This commit adds a new `spring.graphql.graphiql.path` configuration
property for setting the path to the GraphiQL UI page.

This change requires updates in the static HTML page to link the
JavaScript fetcher back to the actual GraphQL API endpoint.

Closes gh-70
2021-06-29 13:52:08 +02:00
Jens Schauder
ec9f3dd310 Correct location of schema in README. 2021-06-16 11:22:19 +02:00
Rossen Stoyanchev
a5f56ca3cb Update README.md 2021-06-09 19:33:11 +01:00
Brian Clozel
847c10be27 Add GraphQlTester test auto-configuration
This commit introduces the auto-configuration infrastructure for testing
Spring GraphQL applications with mock/embedded servers.

The new `@AutoConfigureGraphQlTester` annotation can contribute a
`GraphQlTester` bean to the test context for testing the application.

Closes gh-46
2021-05-31 21:35:54 +02:00
Brian Clozel
f70e552c6a Change default schema location to /graphql/schema.graphqls
This commit changes the default location for the GraphQL schema from
`classpath:schema.graphqls` to `classpath:/graphql/schema.graphqls`.

We're also adding `.graphqlconfig` files that are leveraged by a GraphQL
JS plugin in IntelliJ IDEA.

Closes gh-44
2021-05-11 15:52:58 +02:00
Brian Clozel
2d97e326e2 Add schema printer endpoint
This commit auto-configures a web endpoint that prints the GraphQL
schema of the application.

Closes gh-13
2021-05-11 11:54:17 +02:00
Brian Clozel
ee51f26755 Revisit GraphQL metrics
Prior to this commit, we introduced a basic implementation for GraphQL
metrics with Spring GraphQL. The main problem was that we were tracking
the GraphQL queries themselves and those are good candidates for
tags cardinality explosion.

This commit revisits the metrics arrangement and introduces:

* `graphql.request` as the main metric; this tracks the execution of a
  single request (i.e. multiple queries)
* `graphql.datafetcher` for tracking data fetching operations.
* `graphql.error` for counting errors.

Closes gh-19
2021-05-10 10:41:57 +02:00
Rossen Stoyanchev
403019521c Rename spring-graphql-web to spring-graphql
Re-purpose spring-graphql-web to be more general than just web and add
org.springframework.web as a top-level package for web support.
2021-04-26 21:42:36 +01:00
Brian Clozel
36121f338f Enable WebSocket endpoint with config property
Prior to this commit, the WebSocket endpoint (MVC or WebFlux) would be
enabled by default. In the case of MVC, the presence of
`spring-websocket` and the required dependencies was an additional hint
that could enable/disable this support depending on the application.

This commit changes the websocket path configuration so that it doesn't
hold a default value anymore. Configuring this property will trigger the
WebSocket support.

Right now developers cannot configure it to be the same as the
`spring.graphql.path`, but this will be solved in #30.

This commit also revisits the configuration properties namespace for
clarity, moving the websocket bits under their own section.

Closes gh-31
2021-02-02 15:27:00 +01:00
Brian Clozel
5696b8cead Configure WebInterceptors in handlers
This commit gathers `WebInterceptor` beans from the context (in an
ordered fashion) and configures them on the relevant GraphQL handlers.

Closes gh-7
2021-02-02 13:53:53 +01:00
Andreas Marek
5ccacd1bb4 use the more idiomatic Query type instead QueryType 2021-01-18 21:35:36 +00:00
Brian Clozel
633ee1a1b5 Refactor project structure
This commit refactors the project structure to regroup GraphQL web
support under the spring-graphql-web module, and move all the Spring
Boot support classes under a single graphql-spring-boot-starter one.

Right now, the starter module contains everything: classes for MVC,
WebFlux and Actuator support as well as required dependencies. We will
change that in the future.
2021-01-05 16:35:34 +01:00
Brian Clozel
41333b6c3e Add documentation to README
This commit adds some documentation to the README file:

* getting started with this project
* core auto-configuration
* metrics support
2020-11-13 16:14:52 +01:00
Rossen Stoyanchev
e8db755430 Add license 2020-07-23 09:40:14 +03:00
Rossen Stoyanchev
6b4aeb074e first commit 2020-07-22 08:18:31 +03:00