当前位置: 首页 > 知识库问答 >
问题:

在从spring.start.io创建一个基本示例后,[Solved]请求映射返回404而不是映射字符串

齐浩淼
2023-03-14

解决方案:将包controller重命名为myrest.controller,必须是主包的子包(包含main方法的子包)

我已经讨论过以下主题,但似乎没有一个对我有效:

  1. RequestMapping导致404错误,添加了regex(/app/**到Rest控制器,**/api到方法),但仍然不会映射它。
  2. Spring@RequestMapping,404 error在我的pom.xml中添加了 JAR ,尽管我找不到更改它的路径(我怀疑可能存在问题,但我不确定)。
  3. 请求映射返回错误404,我访问了正确的endpointlocalhost:8080/api(端口未使用),我也尝试了另一个端口号。
  4. Spring RequestMapping 404错误,我们这里可能有同样的问题,我不明白为什么我应该改变映射,在默认目录或文件上没有改变任何东西。

这不是我第一次制作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";
    }
}


我从localhost:8080/api访问它的URL

重要提示:如果我在一个较早的项目上运行具有精确映射的精确方法,那么它可以完美地运行。

我的评论:这很奇怪,因为我从来没有改变过任何配置,可能我在创建项目时错过了什么?我还是不知道那可能是什么。

共有1个答案

长孙泉
2023-03-14

我将controller包重命名为myrest.controller

必须是主包的子包!

 类似资料:
  • 这是我的控制器,它将请求映射到以下url

  • 下面是Main中的随机客户端列表 第二类:产品(字符串名称、枚举类别、BigDecimal价格) 目标->预期结果:在类Main中,创建类Shopping的实例,其中属性是具有 的映射,并用随机数据//integer-购买了多少产品 null null

  • 我想询问一个人,并得到以下回应: 但在需要时,我还想包含字段,并获得如下内容: 但是,我得到的只是手机ID,就像这样: 这是两个有问题的领域:

  • 如果说Vimscript有一个特性使得你能够按照你的意愿定制Vim,那就非键盘映射莫属。 你可以通过键盘映射告诉Vim: 当我按下这个键时,我需要你放弃默认操作,按我的想法做。 我们先从normal模式的键盘映射开始。我们将在下一章节讨论insert模式和其他模式下的 键盘映射。 随意在文本中敲写几行文字,然后运行命令: :::vim :map - x 将光标置于文本中的某处,按下-。注意Vim

  • 本文向大家介绍dart 创建一个新映射,包括了dart 创建一个新映射的使用技巧和注意事项,需要的朋友参考一下 示例 可以通过多种方式创建映射。 使用构造函数,您可以创建一个新的映射,如下所示: 键和值的类型也可以使用泛型定义: 否则,可以使用映射文字创建映射:            

  • 问题内容: 我想创建一个字符串映射到实例。这是正确的方法吗? 问题答案: 每当我想使用A时,我都发现切片是正确的选择,例如