在我写了一个简单的路由使用休息控制器和 Spring Boot 的路由总是返回404,无论是在一个单独的包或在同一个包中提到的路由。路由只工作,如果路由是在主函数中定义的@SpringBootApplication提到,请帮助我包com.gowtham;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@ComponentScan(basePackages = "com.gowtham")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@RestController
public class controller {
@GetMapping("/greet")
public String hello() {
return "HELLO";
}
}
/问候路由有效
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ccc {
@GetMapping("/gg")
public String hello() {
return "HELLO";
}
}
但是这个路由/gg在主包下面的.controller包里面不起作用,我试着把类“ccc”移到主包里面,我也试着扫描基本包,但是没有用
如果我在其他计算机中导入相同的程序,它运行良好
程序包结构
2条答案
按热度按时间pvcm50d11#
请确保您的Sping Boot 应用程序正在扫描控制器的正确包。您可以通过向主类添加@ComponentScan注解来指定组件扫描的基本包。
8cdiaqws2#
我也面临着上面提到的同样的问题。我尝试使用Sping Boot 版本2.7.9而不是3.0.3。它工作得很好,虽然不确定新版本中有什么变化。