如何指定 micronaut 中标头参数是强制的还是可选的

Ama*_*esh 7 java micronaut

我在控制器中传递两个标头,如下所示

@Header("x-correlationId") String correlationId,
@Header(name = "x-consumedBy") String consumedBy
Run Code Online (Sandbox Code Playgroud)

其中x-correlationId是强制性的,x-consumedBy是可选的。我无法具体说明这一点。

在 Spring 中我们可以指定required=false.

告诉我们会发生什么。
它将两者视为强制性的。

如果我指定,@Nullable那么即使我传递该值,它也始终将该值视为 null

correlationId::12345:consumedBy:null
Run Code Online (Sandbox Code Playgroud)

Dea*_*ool 3

默认情况下,@Header参数是强制性的,但要使其x-consumedBy成为可选标头,您可以设置defaultValue

fun index(@Header("x-correlationId") xCorrelationId :String,
          @Header("x-consumedBy",defaultValue = "") xConsumedBy :String): String {
    
}
Run Code Online (Sandbox Code Playgroud)