簡體   English   中英

Helidon自定義攔截器

[英]Helidon custom interceptor

我使用 helidon SE 1.4.4,如何為所有響應添加 intercepor。 我的路線是:

return Routing.builder()
            .register(JsonSupport.create())
            .register("/api/files", health)           // Health at "/health"
            .register("/api/files", metrics)          // Metrics at "/metrics"
            .register("/api/files/storage", fileService)
            .register("/api/files", OpenAPISupport.create(config))
            .build();

我想使用攔截器在我的所有響應中添加特殊標頭。

這樣我們就可以將標題添加到我們所有的響應中,

return Routing.builder().any((req, res) -> {

            res.addHeader("header1", "header1");
            res.addHeader("header2", "header2");
            req.next();
        })

                ...........
                ...........
                .register("/api/files", metrics) // Metrics at "/metrics"
                .register("/api/files/storage", fileService)
                .register("/api/files", OpenAPISupport.create(config))
                .build();

響應頭

HTTP/1.1 200 OK
Content-Type: application/json
Date: Mon, 9 May 2022 21:35:40 +0530
header1: header1
header2: header2
connection: keep-alive
content-length: 46

也許Routing.Builder上的any方法之一可能對您有用。

https://helidon.io/docs/latest/apidocs/io/helidon/webserver/Routing.Builder.html

您將添加 Helidon 所指的Handler程序,而不是您所謂的攔截器,但根據您的描述,這聽起來像是您想要的行為。

希望有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM