【问题标题】:Spring Boot WebFlux remove WhitelabelSpring Boot WebFlux 移除 Whitelabel
【发布时间】:2018-08-24 11:02:40
【问题描述】:

我正在测试新的 WebFlux 框架,我想删除默认的错误视图(Whitelabel Error Page)。我注意到这个框架的默认服务器是Netty,它似乎没有响应旧的server.error.whitelabel.enabled=false

还有其他方法还是我做错了什么?

【问题讨论】:

    标签: spring spring-boot netty spring-webflux


    【解决方案1】:

    这是一个错误,将在 Spring Boot 2.0.1.RELEASE 中修复,请参阅gh-12520

    与此同时,您可以:

    • 如果您不想要任何 Spring Boot 错误处理支持,请完全排除 ErrorWebFluxAutoConfiguration
    • 在您的应用程序中添加错误模板/静态文件以覆盖默认视图

    请注意,一旦它被支持(并且不应用我刚刚列出的其他选项),您的应用程序将只发送原始 HTTP 错误响应(即不是 JSON 响应)。这就是你想要的吗?

    【讨论】:

    • Thks Brian,在查看了我看到的以某种方式硬编码的源代码后,你要么有 text/html 要么 json。我对仅 json 的响应感兴趣,因为我的应用程序将是一个休息后端。有没有办法只切换到json错误响应?
    • 除非 HTTP 客户端明确要求text/html,否则错误将作为 JSON 发送。这对你的情况不起作用吗?
    • 是的,但我宁愿隐藏该视图并使用 json 响应所有请求。
    • 在这种情况下,您可以定义自己的 WebExceptionHandler ,如此处所示 docs.spring.io/spring-boot/docs/current/reference/html/… 并覆盖路由函数以始终将响应写入 JSON
    • 太完美了,我会试试的。再次感谢布赖恩。
    猜你喜欢
    • 2014-10-10
    • 2021-11-05
    • 2018-11-14
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    相关资源
    最近更新 更多