【发布时间】:2018-08-11 06:03:01
【问题描述】:
我正在尝试运行 Spring Boot REST API 应用程序,但出现 404 错误。
package com.spring.boot.entry;
@SpringBootApplication
@ComponentScan(basePackageClasses = HelloController.class)
public class CourseApiApp {
public static void main(String[] args) {
SpringApplication.run(CourseApiApp.class, args);
}
}
package com.spring.boot.entry.hello;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String sayHello() {
return "Hi First Spring boot application ";
}
}
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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.spring.boot.quickstart</groupId>
<artifactId>course-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Spring Boot API</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
</project>
我也试过@ComponentScan(basePackageClasses = HelloController.class),
但没有运气。你能帮忙解决这个问题吗?
如果我点击http://localhost:8080/hello url,那么我会得到 404。
【问题讨论】:
-
请显示启动日志
-
删除这个@ComponentScan(basePackageClasses = HelloController.class)
-
@sajib,它适用。
-
这里的错误:@ComponentScan(basePackageClasses = HelloController.class) 你应该定义 BASE 包,而不是类。更改 HelloController.class 所在的包。
-
@Reborn - 这是不正确的,
basePackageClasses属性需要Class,请参阅documentation。basePackage属性接受包名称的字符串,这可能是您的想法。
标签: java spring spring-mvc spring-boot