6

我使用 mn create-app example.micronaut.complete 创建了一个新的 micronaut 应用程序

之后,我使用 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
4

2 回答 2

9

如果没有看到更多你的项目,很难说什么是错的。我已将您的代码直接粘贴到项目中,它按预期工作。请参阅https://github.com/jeffbrown/khwaja404上的项目。https://github.com/jeffbrown/khwaja404/blob/a3e57623ed5b30e28eb95bfe0f4a4a5c9d123fd8/src/main/java/example/micronaut/TestController.java的控制器工作正常...

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 {

    // this empty constructor is not
    // needed, but isn't a problem...
    TestController() {
    }

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

端点响应:

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

要寻找的一件事是您可能缺少micronaut-inject-java和/或在https://github.com/jeffbrown/khwaja404/blob/a3e57623ed5b30e28eb95bfe0f4a4a5c9d123fd8/build.gradle#L27-L29micronaut-inject中表达的依赖关系。

另一个是如果您从 IDE(如 IntelliJ IDEA)运行应用程序,请确保您在构建中启用了注释处理器。

于 2018-11-19T18:19:27.387 回答
1

我挣扎了一整天,才发现它是 Eclipse 中的一个错误,并且该问题已在最新版本中得到解决。请切换至版本:2020-12 (4.18.0)或以上

问题描述

日食错误

于 2021-03-02T19:03:53.573 回答