java - Spring Boot REST API 接受所有请求并返回空白响应

标签 java rest spring-boot spring-security

当使用 Postman 或从 Angular 前端发出请求时,我总是得到空白/空响应 200 OK即使在错误的路线上也来自后端。

安全配置:

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http.csrf().disable()
                .authorizeRequests()
                .antMatchers("/public/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        http.addFilterBefore(jwtRequestFilter, UsernamePasswordAuthenticationFilter.class);

    }

例如,检查用户名是否被占用:

    @GetMapping("/available")
    public Boolean isUsernameTaken(@RequestParam String username) {
        return userService.isUsernameTaken(username);
    }

甚至没有进入这个方法,但返回的代码是 200 .

在错误的端点上发出请求 http://localhost:8080/fakeEndpoint/xxxxx还返回空白页和代码 200。

最佳答案

问题出在扩展 OncePerRequestFilter 的自定义过滤器类中。执行了覆盖 doFilterInternal() 方法,但没有链接过滤 - 我没有在此方法末尾调用 filterChain.doFilter(httpServletRequest, httpServletResponse)

关于java - Spring Boot REST API 接受所有请求并返回空白响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60025207/

相关文章:

java - REST API 的目的地天气 API 未在 postman 中返回 JSON 数据

java - 开发 Angular7 REST Web 应用程序时出现 'Access-Control-Allow-Origin' 问题

java - Spring Boot项目构建路径错误 'basic'

java.lang.NoClassDefFoundError : org/apache/http/nio/conn/NHttpClientConnectionManager

java - 如何获取包含城市的时区列表?

java - 如何将私钥和公钥(pvk、spc)和证书(cer)导入 keystore ?

java - 在 REST API 中使用 POST 方法而不是 GET

java - 获取端点的指标

spring - IntelliJ IDEA 运行选项卡可以有颜色吗?

java - 如果特定测试失败则停止 JUnit 套件