Reputation: 21
I created a simple spring boot app when i try to hit the endpoint http://localhost:9094/kan/echo am getting the below exception please help me resolve it o.s.web.servlet.PageNotFound : No mapping for GET i have attached the controller class and pom.xml file can anyone help me out
@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>
server.port=9094
project structure https://i.sstatic.net/JXCzm.png
Upvotes: 1
Views: 1592
Reputation: 3086
According to your project structure, I think you are facing an error because of the misplacement of your main class. your project structure should be like
src/main/java
|-com.kanda
|-javainuse(package)
|-TestController.java
|-model(package)
|-Employee.java
SpringBootHelloWorldApplication.java
In you project first create a package com.kanda
where you put javainuse
,model
and your main class SpringBootHelloWorldApplication.java
. And in inner package put your controller and model class. In springboot it is require to put main class in main
package.
updated project structure https://i.sstatic.net/ORAgl.png
Upvotes: 1