Skip to the content.

SpringFox Support


It will be necessary to copy the file springdoc.properties contained in the directory /src/main/resources of this project, to your application’s /src/main/resources directory, changing the values of its properties according to the necessity. Only copy this properties file, in case there is a change in the properties.

Enable GraphQL Voyager


GraphQL Voyager becomes accessible at root /voyager, if the spring.graphql.voyager.enabled property is true.

Available Spring Boot configuration parameters (either application.yml or application.properties):

spring:
  graphql:
    voyager:
      enabled: false
      basePath: /
      mapping: /voyager
      endpoint: /graphql
      cdn:
        enabled: false
        version: latest
      pageTitle: Voyager
      displayOptions:
        skipRelay: true
        skipDeprecated: true
        rootType: Query
        sortByAlphabet: false
        showLeafFields: true
        hideRoot: false
      hideDocs: false
      hideSettings: false

GraphQL Voyager Basic settings

The properties mapping and endpoint will default to /voyager and /graphql, respectively. Note that these values may not be empty.

The properties enabled defaults to false, and therefor GraphQL Voyager will be available if the dependency is added to a Spring Boot Web Application project.

The property pageTitle defaults to Voyager.

All other properties default to the same as documented on the official GraphQL Voyager Properties

GraphQL Voyager CDN

The currently bundled version is 2.1.0, which is - as of writing this - the latest release of GraphQL Voyager. The CDN option uses jsDelivr CDN, if enabled. By default, it will load the latest available release. Available CDN versions can be found on the project’s jsDelivr page. The CDN option is disabled by default.

Customizing GraphQL Voyager

Further GraphQL Voyager displayOptions, hideDocs and hideSettings customizations can be configured, as documented in the official GraphQL Voyager Properties.

Supported GraphQL-Java Libraries


Extended scalars

Extended scalars can be enabled by using the spring.graphql.extended-scalars configuration property, e.g.:

spring:
  graphql:
    extended-scalars: BigDecimal, Date

The available scalars are the following: BigDecimal, BigInteger, Byte, Char, Date, DateTime, JSON, LocalTime, Locale, Long, NegativeFloat, NegativeInt, NonNegativeFloat, NonNegativeInt, NonPositiveFloat,NonPositiveInt, Object, PositiveFloat, PositiveInt, Short, Time, UUID, Url.

The scalars must also be declared in the GraphQL Schema:

scalar BigDecimal
scalar Date

Aliased scalars

This component also supports aliased scalars. You can define aliases for any standard or extended scalar, as shown in the example below. Note that the original extended scalar (BigDecimal) will not be available. In this case, you need to use spring.graphql.extended-scalars property to declare it.

spring:
  graphql:
    aliased-scalars:
      BigDecimal: Number, Decimal
      String: Text

The aliased scalars must also be declared in the GraphQL Schema:

scalar Number
scalar Decimal
scalar Text

Note: Custom scalar beans cannot be aliased this way. If you need to alias them, you have to manually declare the aliased scalar bean.