我正在尝试构建并运行我的Spring启动项目,该项目在页面上返回“我还活着”。我有基本的主班和一个休息控制器班。我想解决方案很简单,但我找不到与我类似的任何问题。
这是东西。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application{
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HealthCheck {
@GetMapping("/up")
public String checkHealth(){
return "I am alive";
}
}
当我进入localhost:8080 / up时,它返回为
Whitelabel错误页面此应用程序没有针对 /错误,因此您将其视为备用。
2018年9月25日星期二17:47:53发生意外错误(type = Not 找到,状态为404)。没有可用消息
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.demo</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!--<dependency>-->
<!--<groupId>org.springframework.boot</groupId>-->
<!--<artifactId>spring-boot-starter-data-mongodb</artifactId>-->
<!--</dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
答案 0 :(得分:3)
默认情况下,Spring Boot将从主类(带有@RestController
的软件包)及以下版本的软件包开始扫描用@SpringBootApplication
注释的类。最简单的解决方法是将您的控制器移至您的主要班级所在的同一包或子包中。
答案 1 :(得分:0)
看起来Spring没有看到您的控制器。您必须使用@ComponentScan
@ComponentScan
@SpringBootApplication
public class FraudWsApplication {
public static void main(String[] args) {
SpringApplication.run(FraudWsApplication.class, args);
}
}
您也可以在我的repo
中找到一个示例答案 2 :(得分:0)
尝试使用@RequestMapping(“ / up”)而不是使用@GetMapping(“ / up”) 您想在页面上看到消息时,在调用浏览器或在命令行上使用curl时,RequestMapping返回纯文本,
答案 3 :(得分:0)
在您的主要Application
中将注释更改为@SpringBootApplication(scanBasePackages = {"com.ykb.frd"})