Micronaut 創(chuàng)建服務(wù)器應(yīng)用程序

2023-02-23 15:17 更新

使用 Micronaut CLI,您可以使用 Groovy、Java 或 Kotlin(默認(rèn)為 Java)創(chuàng)建新的 Micronaut 應(yīng)用程序。

以下命令使用 Gradle 構(gòu)建在 Java 中創(chuàng)建一個(gè)新的“Hello World”服務(wù)器應(yīng)用程序:

通過(guò)我們的 CLI 生成的應(yīng)用程序包括 Gradle 或 Maven 包裝器,因此甚至不需要在您的機(jī)器上安裝 Gradle 或 Maven 即可開(kāi)始運(yùn)行應(yīng)用程序。只需使用 ?mvnw? 或 ?gradlew? 命令,如下所述。

$ mn create-app hello-world

提供 ?--build maven? 來(lái)創(chuàng)建基于 Maven 的構(gòu)建

如果您沒(méi)有安裝 CLI,那么您也可以通過(guò)訪問(wèn) Micronaut Launch 并單擊“生成項(xiàng)目”按鈕或在 Unix 系統(tǒng)上使用以下 ?curl? 命令來(lái)創(chuàng)建相同的應(yīng)用程序:

curl https://launch.micronaut.io/hello-world.zip -o hello-world.zip
unzip hello-world.zip
cd hello-world

將 ??build=maven? 添加到傳遞給 ?curl? 的 URL 以生成 Maven 項(xiàng)目。

前面的步驟在名為 hello-world 的目錄中創(chuàng)建了一個(gè)新的 Java 應(yīng)用程序,其中包含 Gradle 構(gòu)建。您可以使用 ?./gradlew run? 運(yùn)行該應(yīng)用程序:

$ ./gradlew run
> Task :run
[main] INFO  io.micronaut.runtime.Micronaut - Startup completed in 540ms. Server Running: http://localhost:28933

如果您創(chuàng)建了基于 Maven 的項(xiàng)目,請(qǐng)改用 ?./mvnw mn:run?。

對(duì)于 Windows,不需要 ./ before 命令

默認(rèn)情況下,Micronaut HTTP 服務(wù)器配置為在端口 8080 上運(yùn)行。

要?jiǎng)?chuàng)建響應(yīng)“Hello World”的服務(wù),您首先需要一個(gè)控制器。下面是一個(gè)例子:

 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)
    }
}
  1. @Controller 注釋將類定義為映射到路徑 ?/hello? 的控制器

  2. @Get 注釋將索引方法映射到所有使用 HTTP ?GET? 的請(qǐng)求

  3. 返回一個(gè)字符串“Hello World”作為響應(yīng)

如果你使用 Java,將之前的文件放在 ?src/main/java/hello/world? 中。

如果您使用 Groovy,請(qǐng)將之前的文件放在 ?src/main/groovy/hello/world? 中。

如果您使用 Kotlin,請(qǐng)將之前的文件放在 ?src/main/kotlin/hello/world? 中。

如果啟動(dòng)應(yīng)用程序并向 ?/hello? URI 發(fā)送 ?GET? 請(qǐng)求,則會(huì)返回文本“Hello World”:

$ curl http://localhost:8080/hello
Hello World


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)