使用 CLI
如果您使用 Micronaut CLI create-app 命令创建项目,则默认包含 http-server 依赖项。
Micronaut 包括基于 Netty 的非阻塞 HTTP 服务器和客户端 API。
Micronaut 中 HTTP 服务器的设计针对微服务之间的消息交换进行了优化,通常采用 JSON 格式,并不打算作为完整的服务器端 MVC 框架。例如,目前不支持服务器端视图或传统服务器端 MVC 框架的典型特征。
HTTP 服务器的目标是尽可能容易地公开 API 以供 HTTP 客户端使用,而不管它们是用什么语言编写的。要使用 HTTP 服务器,您需要在构建中使用 http-server-netty 依赖项:
Gradle |
Maven |
implementation("io.micronaut:micronaut-http-server-netty")
|
<dependency>
<groupId>io.micronaut</groupId>
<artifactId>micronaut-http-server-netty</artifactId>
</dependency>
|
下面是一个“Hello World”服务器应用程序:
Java |
Groovy |
Kotlin |
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
@Controller("/hello") // (1)
public class HelloController {
@Get(produces = MediaType.TEXT_PLAIN) // (2)
public String index() {
return "Hello World"; // (3)
}
}
|
import io.micronaut.http.MediaType
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
@Controller('/hello') // (1)
class HelloController {
@Get(produces = MediaType.TEXT_PLAIN) // (2)
String index() {
'Hello World' // (3)
}
}
|
import io.micronaut.http.MediaType
import io.micronaut.http.annotation.Controller
import io.micronaut.http.annotation.Get
@Controller("/hello") // (1)
class HelloController {
@Get(produces = [MediaType.TEXT_PLAIN]) // (2)
fun index(): String {
return "Hello World" // (3)
}
}
|
该类被定义为控制器,@Controller 注释映射到路径 /hello
该方法响应对 /hello 的 GET 请求并返回文本/纯内容类型的响应
通过定义一个名为 index 的方法,按照惯例,该方法通过 /hello URI 公开
更多建议: