Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringBootRESTAPI返回404_Java_Spring_Spring Boot_Spring Restcontroller - Fatal编程技术网

Java SpringBootRESTAPI返回404

Java SpringBootRESTAPI返回404,java,spring,spring-boot,spring-restcontroller,Java,Spring,Spring Boot,Spring Restcontroller,我的主要课程是这样的: package com.ratings.main; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class App { public static void main( String[] args ) {

我的主要课程是这样的:

package com.ratings.main;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class App {
    public static void main( String[] args ) {
        SpringApplication.run(App.class, args);
        System.out.println( "Hello World!" );
    }
}

package com.ratings.controller;
@RestController
public class PollController {

    @Autowired
    Poll poll;

    @GetMapping("/")
    public String home() {
        System.out.println("home " + "HOME");
        return "Home";
    }
}
和pom.xml文件:

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.ratings.main.App</groupId>
  <artifactId>Ratings</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>Ratings</name>
  <url>http://maven.apache.org</url>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
  </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-actuator</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>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>repackage</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <mainClass>com.ratings.main.App</mainClass>
          <excludeDevtools>false</excludeDevtools>
        </configuration>
      </plugin>
    </plugins>
  </build>

</project>

4.0.0
com.ratings.main.App
评级
1.0-快照
罐子
评级
http://maven.apache.org
org.springframework.boot
spring启动程序父级
2.0.5.1发布
UTF-8
UTF-8
1.8
org.springframework.boot
弹簧靴起动器执行器
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
弹簧靴开发工具
真的
org.springframework.boot
spring引导启动器数据jpa
mysql
mysql连接器java
org.springframework.boot
springbootmaven插件
重新包装
com.ratings.main.App
假的

当我尝试
http://localhost:9090/
我得到了404。为什么不返回字符串“Home”?

您的SpringBootApplication类在包中:

package com.ratings.main;
你的控制器在哪

package com.ratings.controller;
控制器必须与SpringBootApplication位于同一位置或其下方

因此,要么将SpringBoot应用程序移动到

com.ratings 
或者将控制器移动到

com.ratings.main.controller

将控制器类放入此包
com.ratings.main

@SpringApplication
包含
@ComponentScan
。此注释扫描主包及其子组中的bean和配置。

@SpringBootApplication
package:
com.ratings.main

@Controller
包:
com.ratings.Controller

控制器类
必须与用
@SpringBootApplication
注释的主类位于同一个或更低的位置。您可以通过添加这样的示例包来解决这个问题;
com.ratings.main.*相同顺序或更低

另一方面,您可以对控制器包使用@ComponentScan

@ComponentScan(value = {"your.controller.package"})

@SpringBootApplication
已经有了这个标签,但它只扫描相同的顺序和更低的顺序

你能添加web mvc配置类代码吗?@crowey我没听懂你的意思?什么是mvc配置?这两个类在同一个包中是spring boot appare吗?@kingGarfield YesI还为其他可配置参数添加了WebMVC配置。所以,当应用程序启动时,9090是内部tomcat服务器的相关端口吗?或者您可以完全添加404错误吗?