Spring Api: 程序没有在控制器中找到 pat
Spring Api: the program is not finding the pat into the controller
我从 0 开始我的第一个 api 项目。
我从 spring initialiser 下载了启动项目,然后开始在其中编写代码。但现在我有一个小问题。似乎 main class 无法识别我创建的控制器,因为我尝试将控制器的代码放入 main 并且它可以工作,在实际状态下它给我 "Path not found 404" 错误。
难道我必须在某处添加控制器?
提前致谢!
主要class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ApiDispatcherApplication {
public static void main(String[] args) {
SpringApplication.run(ApiDispatcherApplication.class, args);
}
}
控制器
import model.ApiModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
public class WebController {
@Autowired
public WebController(){
}
@RequestMapping(path = "/sample", method = RequestMethod.GET)
public ApiModel Sample(@RequestParam(value = "name", defaultValue = "Robot") String name){
ApiModel response = new ApiModel();
response.setResponse("Your name is " + name);
return response;
}
}
此刻它给了我 404,但如果我将控制器代码直接放在主程序中 class 它就可以工作
感谢@dassum 我用这种方式解决了我的问题:
主要class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@ComponentScan("controller") //controller is the name of the folder of my controllers
public class ApiDispatcherApplication {
public static void main(String[] args) {
SpringApplication.run(ApiDispatcherApplication.class, args);
}
}
希望我在这方面帮助了其他一些初学者 post :)
谢谢@dassum!
我从 0 开始我的第一个 api 项目。 我从 spring initialiser 下载了启动项目,然后开始在其中编写代码。但现在我有一个小问题。似乎 main class 无法识别我创建的控制器,因为我尝试将控制器的代码放入 main 并且它可以工作,在实际状态下它给我 "Path not found 404" 错误。
难道我必须在某处添加控制器?
提前致谢!
主要class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ApiDispatcherApplication {
public static void main(String[] args) {
SpringApplication.run(ApiDispatcherApplication.class, args);
}
}
控制器
import model.ApiModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
public class WebController {
@Autowired
public WebController(){
}
@RequestMapping(path = "/sample", method = RequestMethod.GET)
public ApiModel Sample(@RequestParam(value = "name", defaultValue = "Robot") String name){
ApiModel response = new ApiModel();
response.setResponse("Your name is " + name);
return response;
}
}
此刻它给了我 404,但如果我将控制器代码直接放在主程序中 class 它就可以工作
感谢@dassum 我用这种方式解决了我的问题:
主要class
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@ComponentScan("controller") //controller is the name of the folder of my controllers
public class ApiDispatcherApplication {
public static void main(String[] args) {
SpringApplication.run(ApiDispatcherApplication.class, args);
}
}
希望我在这方面帮助了其他一些初学者 post :)
谢谢@dassum!