Проблема с Spring Boot GraphQL, приводит к ошибке 404 - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь изучить GraphQL и пытаюсь запустить этот простой пример . Тот, над которым я работаю, находится в разделе Java. Я использую Gradle для сборки, и это прекрасно работает, даже отлично работает, просто когда я пытаюсь получить доступ к локальному хосту через веб-браузер, я получаю ошибку 404. Я тоже не очень знаком с Springboot, и я пытаюсь понять это по ходу дела.

Я использовал Spring Initalizr для создания проекта. Структура каталогов выглядит следующим образом:

/ hello-world / src / main / java / com / graphqljava / hello

"Привет" - это то место, где я создал файл HelloWorld1.java, и именно там я разместил пример кода. Spring Initalizr создал еще один каталог в «hello» (hello / helloworld), который содержит сгенерированный файл Java с именем HelloWorldApplication.java. Я не знаю, является ли проблема в том, что я делаю и работаю со своим собственным файлом, я в основном делал это, основываясь на инструкциях из другого урока.

Если бы вы, ребята, могли бы помочь мне разобраться в проблеме или указать мне верное направление, я был бы очень благодарен. Я просто немного растерялся, потому что это самый простой пример, и я даже не могу заставить его работать. Спасибо.

Я думаю, что все зависимости в порядке, но я думаю, что проблема с конечной точкой?

Это мой файл Gradle.

plugins {
    id 'org.springframework.boot' version '2.1.6.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'com.graphql-java.hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}
dependencies {
    compile 'com.graphql-java:graphql-java:11.0'

    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

А вот и файл Java (HelloWorld1.java)

import graphql.ExecutionResult;
import graphql.GraphQL;
import graphql.schema.GraphQLSchema;
import graphql.schema.StaticDataFetcher;
import graphql.schema.idl.RuntimeWiring;
import graphql.schema.idl.SchemaGenerator;
import graphql.schema.idl.SchemaParser;
import graphql.schema.idl.TypeDefinitionRegistry;

import static graphql.schema.idl.RuntimeWiring.newRuntimeWiring;

public class HelloWorld1 {

    public static void main(String[] args) {
        String schema = "type Query{hello: String} schema{query: Query}";

        SchemaParser schemaParser = new SchemaParser();
        TypeDefinitionRegistry typeDefinitionRegistry = schemaParser.parse(schema);

        RuntimeWiring runtimeWiring = newRuntimeWiring()
                .type("Query", builder -> builder.dataFetcher("hello", new StaticDataFetcher("world")))
                .build();

        SchemaGenerator schemaGenerator = new SchemaGenerator();
        GraphQLSchema graphQLSchema = schemaGenerator.makeExecutableSchema(typeDefinitionRegistry, runtimeWiring);

        GraphQL build = GraphQL.newGraphQL(graphQLSchema).build();
        ExecutionResult executionResult = build.execute("{hello}");

        System.out.println(executionResult.getData().toString());
        // Prints: {hello=world}
    }
}

Я просто ожидал, что всплывет простое сообщение, но вместо этого я получу

Страница ошибки Whitelabel

Это приложение не имеет явного сопоставления для / error, поэтому вы видите это как запасной вариант.

Произошла непредвиденная ошибка (тип = Не найдено, статус = 404). Нет доступных сообщений

Редактировать: я также скопировал код примера в файл HelloWorldApplication.java, но у меня все еще возникает та же проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...