小编Ant*_*eda的帖子

我可以为Spring Boot应用程序配置启动和关闭日志吗?

为了能够验证我们的Spring Boot应用程序的启动和关闭能力,我们希望配置一个startup.log和shutdown.log捕获事件来引导和关闭该应用程序。

对于启动,所有内容最多:

Root WebApplicationContext: initialization completed in {x} ms
Run Code Online (Sandbox Code Playgroud)

要关闭所有内容,请执行以下操作:

Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@53bd8fca: startup date [Wed Aug 19 09:47:10 PDT 2015]; root of context hierarchy
Run Code Online (Sandbox Code Playgroud)

到最后。

这是特定于容器的东西吗?(Tomcat vs码头vs Undertow)

logging app-startup spring-boot

2
推荐指数
3
解决办法
3557
查看次数

响应式 Spring 查询参数

我的 Spring Reactive Web API 应该能够根据查询参数进行过滤,但我正在努力做到这一点。

GET /v1/address?type=business
Run Code Online (Sandbox Code Playgroud)

应该返回系统中所有类型为“business”的地址(只是一个例子,因为我没有发布实际需求)。如果该参数不存在,则只返回所有地址。

[
  { "id" : 1, "type" : "business", "street" : "..."},
  { "id" : 2, "type" : "business", "street" : "..."},
  ...
}
Run Code Online (Sandbox Code Playgroud)

我正在使用路由器功能来映射请求:

public RouterFunction<ServerResponse> route(AddressHandler handler) {
    return route(GET("/v1/address"), handler::getAddresses);
}
Run Code Online (Sandbox Code Playgroud)

但我正在努力确定如何检查参数,如果不存在,则返回所有地址。

class AddressHandler {
    Mono<ServerResponse> getAddressesFilteredOrNot(ServerRequest request) {
        Optional<String> addressType = request.getQueryParam("type");

        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

现在 Optional.ifPresent() 不起作用,我无法从该方法返回:

class AddressHandler {
    Mono<ServerResponse> getAddressesFilteredOrNot(ServerRequest request) {
        Optional<String> addressType = request.getQueryParam("type");

        // invalid
        addressType.ifPresent(addrType -> {
            return ServerResponse.ok()
                .body(this.service.getAddressByType(addrType),
                   Address.class); …
Run Code Online (Sandbox Code Playgroud)

handlers spring-boot queryparam reactive

2
推荐指数
1
解决办法
9396
查看次数