我已经创建了演示Spring Boot项目,并实现了这里所示的Restful服务
@RestController
public class GreetingsController {
@RequestMapping(value="/api/greetings", method=RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> getGreetings(){
return new ResponseEntity<String>("Hello World", HttpStatus.OK);
}
}
当我试图调用邮递员工具与url"http://localhost:8080/api/greetings"作为请求方法GET服务,我得到下面的错误消息
{
"timestamp": 1449495844177,
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/greetings"
}
对于每个Spring Boot应用程序,我不必在web中配置Spring Dispatcher servlet。xml。
有人能帮我找出这里缺失的点吗?
这可以帮助某人,就像我的情况一样。
确保控制器的包名是Spring main方法包的派生(或子)包。
例如:
如果主方法包是com。公司演示。示例
那么控制器包应该类似于com。公司演示。实例控制器
(如果指定类似于com.company.demo.controller的内容,它将无法工作!)。
三种可能的解决办法:
1)确保具有@Controller的YourController.java文件和具有@SpringBootApplication的YourSpringBootFile.java文件在同一个包中。
所以你知道我在说什么,这是我的WebController.java文件:
@RestController
public class WebController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping(value= "/hi", method = RequestMethod.GET)
public @ResponseBody Greeting sayHello(
@RequestParam(value = "name", required = false, defaultValue = "Stranger") String name) {
System.out.println("Inside sayHello() of WebController.java");
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
}
这是我的JsonPostExampleProj1应用程序。爪哇:
@SpringBootApplication
public class JsonPostExampleProj1Application {
public static void main(String[] args) {
SpringApplication.run(JsonPostExampleProj1Application.class, args);
}
}
2) 如果希望控制器位于SpringBootFile之外的其他包中。java的包,然后按照以下说明=Spring:Run application main方法中的多个“SpringApplication.Run()”
3) 尝试在控制器类的顶部使用@RestController而不是@Controller。
您可能缺少@springbootplication
:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
@springbootplication
包括扫描其所在包和所有子包的@ComponentScan
。您的控制器可能不在其中任何一个中。
2020-01-28T01:42:46.028688+00:00 Heroku[web.1]:使用命令启动进程 2020-01-28T01:42:45.000000+00:00APP[api]:生成成功 2020-01-28T01:42:48.451589+00:00Heroku[web.1]:状态从启动更改为崩溃 2020-01-28T01:42:48.433700+00:00 Heroku[W
我正在Swift中开发一个iOS应用程序,使用AWS Cognito处理用户登录和注册。我发现,当用户做Cognito不允许的事情时(登录时输入错误的用户名/密码,试图创建不符合要求的密码等),应用程序将显示错误消息,如。我注意到,不同的操作可能会导致不同的错误代码,但我希望使错误消息更具描述性,以便我的用户能够真正知道他们做错了什么。 目前,我通过检查用于登录/注册/etc.任务,如果此检查返回
我创建了一个spring boot web应用程序(在IntelliJ IDEA中),它在本地运行没有问题。 我试图将应用程序部署到heroku完全按照本走查中描述的步骤:https://devcenter.heroku.com/articles/deploying-spring-boot-apps-to-heroku 注意:演练没有提到Procfile,所以我没有创建Procfile。 当在浏览
我有一个MVC6站点,它已部署为Azure Web应用程序。我已使用服务器资源管理器在Visual Studio中启用了所有跟踪/诊断选项。我正在尝试进行远程调试,但我在浏览器上只看到一个错误500,没有找到任何关于错误发生的确切位置的信息(或触发错误断点)。 在从Azure获取的文件日志中找不到任何错误跟踪。 我应该如何解决Azure Web应用程序中的错误500? 将“CustomErrors
我只是在尝试我的第一个struts2应用程序。遵循教程中的步骤。链接 和链接 两者都给出相同的“资源不可用”错误。我已经添加了错误、目录结构和struts所需的图像。xml,网络。xml和tutorialaction类。此外,还可以在目录结构中看到添加的JAR(apache的最新版本)。谁能帮我解决这个问题? 我的IDE:日食开普勒 服务器:Apache Tomcat 7.0