我已经研究过以下主题,但没有似乎对我有用:
- RequestMapping leads to 404 Error ,添加了正则表达式(
/app/**
到 Rest Controller 和**/api
到Method),但仍然不会映射它。 - Spring @RequestMapping, 404 error ,添加
<packaging>jar</packaging>
到我的 pom.xml ,尽管我找不到更改它的路径(我怀疑问题可能存在,但我不确定)。 - Request Mapping returning error 404 ,我访问了正确的端点,即
localhost:8080/api
(端口没有被使用),我也尝试了另一个端口号。 - Spring RequestMapping 404 error ,我们可能在这里遇到同样的问题,我不明白为什么我应该更改映射,没有更改默认目录或文件上的任何内容。
这不是我第一次制作Springboot应用程序
- 我的
pom.xml
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>myrest</groupId>
<artifactId>remoteapi</artifactId>
<version>0.0.1</version>
<name>remoteapi</name>
<description>Rest Mobile Dev ICSD Api</description>
<properties>
<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-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
- 我的
RestController
类
package Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MainController {
@RequestMapping(value="/api")
public String test()
{
return "Hello World";
}
}
这是我的目录,MainController
类在里面Controller
包
URL
我从 localhost:8080/api
访问它
重要提示:如果我在旧项目上运行具有精确映射的精确方法,它会完美运行。
我的评论:这很奇怪,因为我从未更改过任何配置,可能我在创建项目时错过了一些东西?我还没弄清楚那可能是什么。
编辑:添加目录以及我尝试访问它的位置
最佳答案
我将 Controller
包重命名为 myrest.controller
,
必须是主包的子包!
关于java - 从 spring.start.io 创建基本示例后,请求映射返回 404 而不是映射的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59603731/