当我尝试到达端点 http://localhost:9094/kan/echo 时,我创建了一个简单的 Spring Boot 应用程序我收到以下异常,请帮我解决 o.s.web.servlet.PageNotFound :没有 GET 映射 我已经附加了 Controller 类和 pom.xml 文件,任何人都可以帮助我
@CrossOrigin(origins = "http://localhost:4200")
@RestController
@RequestMapping("/kan")
public class TestController {
@GetMapping(value = "/echo", produces = {"application/json"})
public List<Employee> fetch(){
List<Employee> tempEmployees = new ArrayList<>();
Employee emp1= new Employee();
emp1.setName("emp1");
emp1.setDesignation("manager");
emp1.setEmpId("1");
emp1.setSalary(3000);
tempEmployees.add(emp1);
return tempEmployees;
}
}
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>com.package</groupId>
<artifactId>javainuse</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>SpringBootHelloWorld</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.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-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
属性文件
服务器端口=9094
项目结构 /image/JXCzm.png
最佳答案
根据您的项目结构,我认为您由于主类的位置错误而面临错误。你的项目结构应该是这样的
src/main/java
|-com.kanda
|-javainuse(package)
|-TestController.java
|-model(package)
|-Employee.java
SpringBootHelloWorldApplication.java
在您的项目中,首先创建一个包com.kanda
,其中放置javainuse
、model
和您的主类SpringBootHelloWorldApplication.java
。并在内部包中放置您的 Controller 和模型类。在springboot中,需要将主类放在main中
包。
更新了项目结构/image/ORAgl.png
关于java - Spring Boot 中未找到映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58425638/