You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot无法识别自定义端点,访问返回404白标错误

Spring Boot 接口返回404白标错误排查问题

问题现象

启动Spring Boot应用无报错,VSCode的EndpointMappings插件显示/test/get路由存在,但访问localhost:8080/test/get时始终返回404白标错误页面。

核心代码文件

1. demo/Service.java

package com.clubmgmt.clubmgmtstudentservice;

@SpringBootApplication
public class Service {
    public static void main(String[] args) {
        SpringApplication.run(Service.class, args);
    }
}

2. demo/student/StudentController.java

package com.clubmgmt.clubmgmtstudentservice.student;

@RestController
@RequestMapping(path="/test")
public class StudentController {
    @GetMapping("/get") //Root page
    public List<String> getStudents() {
        return List.of("Please", "Work");
        
    }
}

应用启动日志

D:\01. GitHub\personal-archive\schoolRelated\esd-project\ESDGroup2\club-mgmt-student-service> D: && cd "D:\01. GitHub\personal-archive\schoolRelated\esd-project\ESDGroup2\club-mgmt-student-service" && cmd /C ""C:\Program Files\Java\jdk-19\bin\java.exe" @C:\Users\limxu\AppData\Local\Temp\cp_dbr9avx6o54yics09eig13usu.argfile com.clubmgmt.clubmgmtstudentservice.ClubMgmtStudentServiceApplication "

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.0.3)

2023-03-02T23:26:20.845+08:00  INFO 20340 --- [           main] c.c.c.ClubMgmtStudentServiceApplication  : Starting ClubMgmtStudentServiceApplication using Java 19.0.1 with PID 20340 (D:\01. GitHub\personal-archive\schoolRelated\esd-project\ESDGroup2\club-mgmt-student-service\target\classes started by limxu in D:\01. GitHub\personal-archive\schoolRelated\esd-project\ESDGroup2\club-mgmt-student-service)
2023-03-02T23:26:20.850+08:00  INFO 20340 --- [           main] c.c.c.ClubMgmtStudentServiceApplication  : No active profile set, falling back to 1 default profile: "default"
2023-03-02T23:26:22.490+08:00  INFO 20340 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-03-02T23:26:22.504+08:00  INFO 20340 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-03-02T23:26:22.504+08:00  INFO 20340 --- [           main] o.apache.catalina.core.StandardEngine    : Starting Servlet engine: [Apache Tomcat/10.1.5]
2023-03-02T23:26:22.601+08:00  INFO 20340 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-03-02T23:26:22.602+08:00  INFO 20340 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1648 ms
2023-03-02T23:26:22.772+08:00 DEBUG 20340 --- [           main] o.s.w.f.ServerHttpObservationFilter      : Filter 'serverHttpObservationFilter' configured for use
2023-03-02T23:26:22.943+08:00 DEBUG 20340 --- [           main] s.w.s.m.m.a.RequestMappingHandlerAdapter : ControllerAdvice beans: 0 @ModelAttribute, 0 @InitBinder, 1 RequestBodyAdvice, 1 ResponseBodyAdvice
2023-03-02T23:26:23.080+08:00 DEBUG 20340 --- [           main] s.w.s.m.m.a.RequestMappingHandlerMapping : 2 mappings in 'requestMappingHandlerMapping'
2023-03-02T23:26:23.116+08:00 DEBUG 20340 --- [           main] o.s.w.s.handler.SimpleUrlHandlerMapping  : Patterns [/webjars/**, /**] in 'resourceHandlerMapping'
2023-03-02T23:26:23.130+08:00 DEBUG 20340 --- [           main] .m.m.a.ExceptionHandlerExceptionResolver : ControllerAdvice beans: 0 @ExceptionHandler, 1 ResponseBodyAdvice
2023-03-02T23:26:23.456+08:00  INFO 20340 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 1 endpoint(s) beneath base path '/actuator'
2023-03-02T23:26:23.558+08:00  INFO 20340 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-03-02T23:26:23.580+08:00  INFO 20340 --- [           main] c.c.c.ClubMgmtStudentServiceApplication  : Started ClubMgmtStudentServiceApplication in 3.389 seconds (process running for 3.867)
2023-03-02T23:26:23.948+08:00  INFO 20340 --- [on(3)-127.0.0.1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-03-02T23:26:23.949+08:00  INFO 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-03-02T23:26:23.949+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Detected StandardServletMultipartResolver
2023-03-02T23:26:23.950+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Detected AcceptHeaderLocaleResolver
2023-03-02T23:26:23.952+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Detected FixedThemeResolver
2023-03-02T23:26:23.954+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Detected org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@5a346d64
2023-03-02T23:26:23.955+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Detected org.springframework.web.servlet.support.SessionFlashMapManager@1aff1d9c   
2023-03-02T23:26:23.956+08:00 DEBUG 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : enableLoggingRequestDetails='false': request parameters and headers will be masked 
to prevent unsafe logging of potentially sensitive data
2023-03-02T23:26:23.958+08:00  INFO 20340 --- [on(3)-127.0.0.1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 8 ms

访问错误信息

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Thu Mar 02 21:34:54 SGT 2023
There was an unexpected error (type=Not Found, status=404).

项目结构

src/
|__main/
   |___java/
      |___com/
          |___clubmgmt/
               |__clubmgmtstudentservice/
                  |__Service.java
                  |__student/
                     |__StudentController.java
                     |__Student.java

解决方案

  • 修复控制器语法错误:StudentController.java末尾缺少类闭合的},同时缺少List的导入语句,导致类无法正确编译加载。修正后的完整代码如下:
    package com.clubmgmt.clubmgmtstudentservice.student;
    
    import java.util.List;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @RequestMapping(path="/test")
    public class StudentController {
        @GetMapping("/get")
        public List<String> getStudents() {
            return List.of("Please", "Work");
        }
    }
    
  • 对齐启动类与启动命令:日志显示实际启动的是ClubMgmtStudentServiceApplication,但代码中的启动类是Service,两者不一致。要么修改Service.java的类名为ClubMgmtStudentServiceApplication,要么调整启动命令指向com.clubmgmt.clubmgmtstudentservice.Service。
  • 清理重建项目:执行mvn clean install(Maven)或./gradlew clean build(Gradle),清除旧编译产物后重新构建启动。
  • 显式指定包扫描范围:若默认扫描未生效,可在启动类上显式指定扫描包:
    @SpringBootApplication(scanBasePackages = "com.clubmgmt.clubmgmtstudentservice")
    public class Service {
        public static void main(String[] args) {
            SpringApplication.run(Service.class, args);
        }
    }
    

内容的提问来源于stack exchange,提问作者Peek0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 18:33:09