我花了最后2个小时试图通过我的简单springboot休息应用程序弄清楚神的名字是怎么回事。
无论我做什么,我都无法让restvtroller工作,我尝试的每个URL都给了我404.这是我的代码如下。
@RestController
public class PbxPortalRestControllerSet {
@RequestMapping("/testMe")
public String testMe()
{
return "I am alive";
}
}
@SpringBootApplication
public class PbxPortalApplication {
public static void main(String[] args) {
SpringApplication.run(PbxPortalApplication.class, args);
}
}
Application.properties file
server.port = 8088
任何人都可以告诉他们到底发生了什么事吗?我以前做了很多次,但我不能为我的生活找出为什么拒绝工作。
我尝试去localhost:8088 / testMe,我得到404.
答案 0 :(得分:0)
如果PbxPortalApplication
和PbxPortalApplication
类位于不同的包中,则需要告诉应用程序在加载应用程序上下文时扫描控制器。
将@ComponentScan
添加到PbxPortalApplication
班级
@SpringBootApplication
@ComponentScan(basePackageClasses = PbxPortalRestControllerSet.class)
public class PbxPortalApplication
答案 1 :(得分:0)
我发现了这个问题。我使用了错误的POM条目。我以某种方式使用泽西而不是内置的春天。出于某种原因,即使我使用了错误的库,eclipse也告诉我,我的注释条目非常好。一旦我删除泽西岛的条目一切正常
答案 2 :(得分:0)
@RestController
public class DemoController {
@GetMapping(value= "/getName")
public String getName(){
return "This is a Spring Boot Application";
}
}
主类很简单:
package com.pcftest.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
你可以尝试一次吗?并看看它是否有效..
@RequestMapping(value= "/testMe" , method = RequestMethod.GET)
基本上,有时当您不提供请求方法类型时,您会遇到此类错误
答案 3 :(得分:0)
您似乎已经将控制器与Spring SpringApplication文件放在不同的子包中。所以从Spring main()无法访问Controller 请添加
@SpringBootApplication
@ComponentScan("ControllersPackege")
<强> CodeSnipet:SpringBootApplication 强>
@SpringBootApplication
@ComponentScan("ControllerPackege")
public class PbxPortalApplication {
public static void main(String[] args) {
SpringApplication.run(PbxPortalApplication.class, args);
}
}
<强> CodeSnipet:控制器强>
@RestController
public class PbxPortalRestControllerSet {
@RequestMapping("/testMe")
public String testMe()
{
return "I am alive";
}
}
application.properties文件
server.port = 8088
<强> NB:强> 放入相同包或将控制器类放入子包的最佳方法