我不明白什么时候应该使用@controller
以及什么时候使用@endpoint
用Micronaut框架创建endpoint。
根据文档,我创建了一个服务,并以以下方式在/endpoint
上提供它:
@Controller("/endpoint")
public class DummyService {
@Get
@Produces(MediaType.TEXT_PLAIN)
public String index() {
return "Hello World!";
}
}
但这里是用@endpoint
注释创建的:
@Endpoint("/endpoint")
public class DummyService {
@Get
@Produces(MediaType.TEXT_PLAIN)
public String index() {
return "Hello World!";
}
}
在Micronaut中创建服务并使其在endpoint可用的正确方法是什么?
如果这个问题是因为对更基本的概念缺乏了解而产生的,你能给我提供参考吗?
@endpoint
应该用于管理端点(调整日志级别、管理缓存、监视资源利用等),而不是应用程序功能。@controller
应用于不属于管理和监视的应用程序端点。
编辑
针对具体提出的问题:
在Micronaut中创建服务并使其在端点可用的正确方法是什么?
通常,这样做的方法是将一个bean添加到作为您的服务的应用程序上下文中,然后让DI容器在任何需要的地方注入该bean。
@Singleton
public class SomeService {
// ...
}
@Controller
public class SomeController {
private final SomeService someService;
public SomeController(SomeService someService) {
this.someService = someService;
}
// ...
}
@Endpoint
public class SomeManagementEndpoint {
private final SomeService someService;
public SomeManagementEndpoint(SomeService someService) {
this.someService = someService;
}
// ...
}
创建指令时,可以将代码放入编译器、链接函数或控制器中。 在文件中,他们解释说: 编译和链接功能用于角度循环的不同阶段 然而,对我来说还不清楚,哪种代码应该去哪里。 例如:我可以在compile中创建函数并将它们附加到link中的作用域,还是只将函数附加到controller中的作用域? 如何在指令之间共享控制器,如果每个指令可以有自己的控制器?控制器是真的共享,还是只是范围属性?
我使用mn create-app example.micronaut.complete创建了一个新的micronaut应用程序 之后,我使用intellij打开了项目,并将一个新类作为TestController添加到项目中,代码如下: 但我得到了
我正在开发一个新的应用程序,它是和camel。我将RESTendpoint作为该应用程序的一部分公开。 null 你能帮我选择更好的方案吗?
问题内容: 嗨,我是新手,我想知道在控制台中读取用户Input的最佳选择是什么,据我所知有3种方法可以做到: 我应该选择哪一个?为什么选择一个而不选择另一个? 问题答案: 缓冲读取器 从Java 1.1开始 引发检查异常 可以读取字符,字符数组和行 快速 扫描器 从Java 1.5开始 不抛出检查异常 可以读取行,空格分隔的标记,正则表达式分隔的标记和数字 难以阅读单个字符 安慰 从Java 1.
在创建资源类和指定资源格输出式化后, 下一步就是创建控制器操作将资源通过 RESTful APIs 展现给终端用户。 Yii 提供两个控制器基类来简化创建 RESTful 操作的工作:yii\rest\Controller 和 yii\rest\ActiveController, 两个类的差别是后者提供一系列将资源处理成 Active Record 的操作。 因此如果使用 Active Recor