Микронавт Котлин: остальные контроллеры не работают

#kotlin #micronaut #micronaut-rest

#kotlin #микронавт #micronaut-rest

Вопрос:

Я создаю простое приложение с двумя контроллерами Rest с помощью Kotlin. Однако для каждой конечной точки ошибка {"message":"Not Found","_links":{"self":{"href":"

Мои выводы до сих пор, для которых я искал решения, и они не сработали.

1. Созданные папки также пусты. Может быть проблема

  1. Поскольку я пробовал как IDE, так и командную строку. Итак, исключаем любую проблему из Idea
  2. Пытался добавить Java-контроллер в проект, но он также не запускался
  3. Пытался использовать аннотации Micronaut вместе с веб-аннотациями Spring, не сработало.

Есть ли что-нибудь еще, что я могу изменить, чтобы это заработало? В идеале я бы хотел, чтобы это работало с Kotlin, а не с Java.

Окружающая среда:

IDE — IntelliJ Idea 2020.2 Ultimate
Сборка — пробовал как Maven, так и Gradle, командная строка и IDE
с включенными аннотациями: Выполнено,
Делегирование Gradle Runner: Выполнено
JDK: 11 (но в файле сборки задано как 8)

Обновление 1 — Несколько вещей работают

Получил базовый код с сайта запуска Micronaut
Мой пример кода

 @RestController
@Validated
@RequestMapping("/hello")
open class UserController {

    @Get("/echo")
    fun echo():String{
        return "hello"  System.currentTimeMillis()
    }
}
  
  • AOP не работает, и поэтому пришлось использовать @Validated и open . В build.gradle есть плагин allOpen.
  • @GetMapping должно работать согласно https://micronaut-projects.github.io/micronaut-spring/latest/guide/#springMvc
  • Мне пришлось использовать Micronaut @Get , чтобы заставить его работать

Пожалуйста, помогите в устранении этих двух проблем.

Комментарии:

1. Трудно сказать, что не так, не видя вашего проекта, но, скорее всего, процессоры аннотаций настроены неправильно. Я рекомендую создать новый проект на micronaut.io/launch и сравниваю это build.gradle с вашим.

2. обновил вопрос новыми выводами

3. Сначала попробуйте заставить его работать без аннотаций spring, если это пройдет, попробуйте добавить зависимости в build.gradle