Spring REST 控制器未映射

Gui*_*NIK 5 java rest spring controller

我正在尝试创建监听“/login”的 à Rest 控制器我已经定义了下面的代码但是当我打开http://localhost:8080/login 时我收到一个 404 错误...请帮忙:)

这是我的包结构:

com.my.package
   |_ Application.java
   |_ controller
          |_ LoginController
Run Code Online (Sandbox Code Playgroud)

我的应用程序:

@ComponentScan("com.my.package.controller")
@SpringBootApplication
public class Application {
    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的休息控制器:

@RestController
public class LoginController {

    @RequestMapping("/login")
    public @ResponseBody String getLogin(){
        return "{}";
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

控制器类应该在Application类的一个文件夹中或者在下一个文件夹中。

因此,如果应用程序类在 package 中com.company.app,那么控制器类应该在 package 中,com.company.app或者com.company.app.*.假设控制器类在 in 中com.company.controller,它不会被映射,因为它不在应用程序类的同一个包或子包中。


San*_*goM 1

您应该在 springBoot 应用程序的 init 类中使用此注释

@Configuration
@EnableAutoConfiguration
@ComponentScan("com.my.package")
public class WebAppInitializer{

    public static void main(String[] args) throws Exception{
        SpringApplication.run(WebAppInitializer.class, args);
    }
Run Code Online (Sandbox Code Playgroud)

}

  • 这些注释“完全”等同于“@SpringBootApplication”。 (4认同)