Ошибка контроллера Micronaut Страница не найдена

Я создал новое приложение micronaut, используя mn create-app example.micronaut.complete

После этого я открыл проект с помощью intellij и добавил в проект новый класс TestController с кодом ниже:

package example.micronaut;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;


@Controller("/hello")
public class TestController {

TestController(){}

@Get(value = "/", produces = MediaType.TEXT_PLAIN)
String getTest(){
    return "some string";
   }
}

Но я получаю

{"_links":{"self":{"href":"/","templated":false}},"message":"Page Not Found"}

всякий раз, когда я пытаюсь получить доступ к конечной точке / hello

Мой application.yml выглядит так:

micronaut:
    application:
        name: complete
    server:
        port: 8080

person Sanjari    schedule 19.11.2018    source источник


Ответы (2)


Не видя больше вашего проекта, трудно сказать, что не так. Я вставил ваш код прямо в проект, и он работает должным образом. См. Проект по адресу https://github.com/jeffbrown/khwaja404. Контроллер по адресу

Конечная точка отвечает:

$ curl http://localhost:8080/hello
some string

Следует обратить внимание на то, что вам может не хватать зависимости micronaut-inject-java и / или micronaut-inject, как указано в https://github.com/jeffbrown/khwaja404/blob/a3e57623ed5b30e28eb95bfe0f4a4a5c9d123fd8/build-L29.

Другой - если вы запускаете приложение из IDE (например, IntelliJ IDEA), убедитесь, что в сборке включены процессоры аннотаций.

person Jeff Scott Brown    schedule 19.11.2018
comment
По образцу кода невозможно определить, используете ли вы Java или Groovy. Образец, который я связал, использует Java. Если вы используете Groovy, вам, конечно, понадобится зависимость micronaut-inject-groovy. - person Jeff Scott Brown; 19.11.2018
comment
Спасибо за быстрый ответ. Плохо, что я все время забываю включить процессор аннотаций. Спасибо, что указали на это. Я хотел бы знать, есть ли способ включить ведение журнала отладки консоли в IDE для micronaut, аналогичное весенней загрузке. - person Sanjari; 19.11.2018
comment
Я хотел бы знать, есть ли способ включить ведение журнала отладки консоли в IDE для micronaut, похожее на весеннюю загрузку .. Да, можно. См. github.com/jeffbrown/khwaja404/blob/master / src / main / resources /. - person Jeff Scott Brown; 19.11.2018
comment
Он не работает с eclipse. Я запустил приложение, используя eclipse и ту же ошибку. Нужно ли мне включать обработку аннотаций в eclipse? Я никогда не делал этого для приложений с весенней загрузкой. - person Sanjari; 19.11.2018
comment
Нужно ли мне включать обработку аннотаций в eclipse? - да. - person Jeff Scott Brown; 19.11.2018
comment
Я никогда не делал этого для приложений с весенней загрузкой. - Spring Boot не зависит от процессоров аннотации времени компиляции. Микронавт делает. - person Jeff Scott Brown; 19.11.2018
comment
Если вы не знаете, как включить обработчики аннотаций времени компиляции в Eclipse, вы должны опубликовать это как отдельный вопрос. - person Jeff Scott Brown; 19.11.2018
comment
Если вы зарегистрируете связанный мной проект и запустите ./gradlew run (или gradlew run, если вы используете базовую оболочку Windows), вы увидите, что конечная точка Micronaut работает нормально. - person Jeff Scott Brown; 19.11.2018
comment
Если вы используете IntelliJ, в дополнение к включению обработчика аннотаций в конфигурации запуска вам нужно будет установить задачу Run Gradle, запускать как этап сборки. (Это также задокументировано в документации по началу работы) - person bond; 15.03.2019
comment
У меня была такая же проблема, и я запускал свое приложение из IntellijIDEA. Как упоминалось выше, я включил обработчики аннотаций и работал на меня. Перейдите В: Настройки проекта- ›Сборка, Выполнение, Развертывание-› Компилятор- ›Обработка аннотаций и установите флажок« Включить обработку аннотаций ». - person Drisal; 05.06.2019
comment
Если вы используете IntelliJ, в дополнение к включению обработчика аннотаций в конфигурации запуска вам нужно будет установить задачу Run Gradle, запускать как шаг сборки. - Не думаю, что это правда. Есть причины, по которым вы можете захотеть это сделать, но в целом это не обязательно. - person Jeff Scott Brown; 06.06.2019
comment
Для Eclipse IDE после настройки Автоматическая настройка JDT APT выполните: Maven ->Update Project... и после этого выполните: Build Project - person Alisson Gomes; 22.11.2019

Я весь день пытался найти, что это ошибка в Eclipse, и проблема была решена в последней версии. Переключитесь на версию: 2020-12 (4.18.0) или более поздней версии

Описание проблемы

Ошибка Eclipse

person Rituparna Bhattacharyya    schedule 02.03.2021