diff --git a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/GraphQLProperties.java b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/GraphQLProperties.java index bb4174b0..8e8c79f0 100644 --- a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/GraphQLProperties.java +++ b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/GraphQLProperties.java @@ -22,6 +22,16 @@ public class GraphQLProperties { private String schema = "classpath:schema.graphqls"; + private String url = "/graphql"; + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + public String getSchema() { return schema; } diff --git a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebFluxGraphQLAutoConfiguration.java b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebFluxGraphQLAutoConfiguration.java index b48ad819..ea43f3c3 100644 --- a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebFluxGraphQLAutoConfiguration.java +++ b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebFluxGraphQLAutoConfiguration.java @@ -15,8 +15,6 @@ */ package org.springframework.boot.graphql; -import java.util.Collections; - import graphql.GraphQL; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -31,6 +29,8 @@ import org.springframework.web.reactive.function.server.RouterFunction; import org.springframework.web.reactive.function.server.RouterFunctions; import org.springframework.web.reactive.function.server.ServerResponse; +import java.util.Collections; + @Configuration @ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.REACTIVE) @ConditionalOnClass(GraphQL.class) @@ -45,8 +45,8 @@ public class WebFluxGraphQLAutoConfiguration { } @Bean - public RouterFunction graphQLQueryEndpoint(WebFluxGraphQLHandler handler) { - return RouterFunctions.route().POST("/graphql", handler).build(); + public RouterFunction graphQLQueryEndpoint(WebFluxGraphQLHandler handler, GraphQLProperties graphQLProperties) { + return RouterFunctions.route().POST(graphQLProperties.getUrl(), handler).build(); } } diff --git a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebMvcGraphQLAutoConfiguration.java b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebMvcGraphQLAutoConfiguration.java index 7f5f7c91..bc2e0191 100644 --- a/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebMvcGraphQLAutoConfiguration.java +++ b/spring-graphql-web/src/main/java/org/springframework/boot/graphql/WebMvcGraphQLAutoConfiguration.java @@ -15,8 +15,6 @@ */ package org.springframework.boot.graphql; -import java.util.Collections; - import graphql.GraphQL; import org.springframework.boot.autoconfigure.AutoConfigureAfter; @@ -32,6 +30,8 @@ import org.springframework.web.servlet.function.RouterFunction; import org.springframework.web.servlet.function.RouterFunctions; import org.springframework.web.servlet.function.ServerResponse; +import java.util.Collections; + import static org.springframework.web.servlet.function.RequestPredicates.accept; @Configuration @@ -48,9 +48,9 @@ public class WebMvcGraphQLAutoConfiguration { } @Bean - public RouterFunction graphQLQueryEndpoint(WebMvcGraphQLHandler handler) { + public RouterFunction graphQLQueryEndpoint(WebMvcGraphQLHandler handler, GraphQLProperties graphQLProperties) { return RouterFunctions.route() - .POST("/graphql", accept(MediaType.APPLICATION_JSON), handler) + .POST(graphQLProperties.getUrl(), accept(MediaType.APPLICATION_JSON), handler) .build(); }