Spring Boot 如何在Sping Boot 中根据环境禁用端点

abithluo  于 2023-01-20  发布在  Spring
关注(0)|答案(1)|浏览(167)

我有一个控制器,由一堆 Swagger 的端点组成。对于其中一个端点,我希望它对PROD环境无效/隐藏,其余的对所有环境有效。我怎么才能做到呢?

nkoocmlb

nkoocmlb1#

您可以使用过滤器。

public class MyFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        if (request.getRequestURI().contains("secret") && env.getProperty("environment").equals("Production"))
            response.sendError(HttpStatus.UNAUTHORIZED.value(), "Unauthorized!");
        else
            filterChain.doFilter(request, response);
    }
}

相关问题