我创建了一个新的 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
最佳答案
如果没有更多地了解您的项目,很难说哪里出了问题。我已将您的代码直接粘贴到一个项目中,它按预期工作。查看项目 https://github.com/jeffbrown/khwaja404 . Controller 在 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
和/或 micronaut-inject
依赖性如 https://github.com/jeffbrown/khwaja404/blob/a3e57623ed5b30e28eb95bfe0f4a4a5c9d123fd8/build.gradle#L27-L29 所示.另一个是如果您从 IDE(如 IntelliJ IDEA)运行应用程序,请确保在构建中启用了注释处理器。
关于Micronaut Controller 错误页面未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53380347/