Spring 启动应用程序returns 404 没有进入控制器class

Spring boot application returns 404 without entering controller class

Spring 启动应用程序 returns 调用 API 端点时出现 404 错误,甚至没有进入控制器 class

我已经了解了可以在 Whosebug 上找到的可能的解决方案

我测试过的可能解决方案

  1. 在 class 级别添加和删除 @RequestMapping
  2. 两者均已测试
GetMapping("/get")

RequestMapping("/get")

甚至

GetMapping(value = "/get")
  1. 添加了 @ComponentScan 即使我的文件夹结构符合指南。

  2. 尝试使用 ResponseEntity<Object> @RequestBody 注释

    我已经尝试了几乎所有从各种平台获得的解决方案。 Spring 启动应用程序 API 端点应根据其配置的路径调用相应的方法。但是在我的应用程序中,它会在调用任何端点时抛出“404 Not Found”错误。端点似乎未在 spring 应用程序

    中注册

控制器Class

@RestController
    @RequestMapping(BACK_OFFICE_BASE_PATH)
    public class ManagementController {
    
        @Autowired
        ManagementService managementService;
    
        @GetMapping(  SLASH_PATH)
        public List<RateTemp> getUpdateRequests(){
            return managementService.getUpdateRequests();
        }
    
        @PostMapping(  SLASH_PATH)
        public RateTemp addRate(@RequestBody RateTemp body) throws BadRequestException {
            if(body != null){
                return managementService.addRate(body);
            }else throw new BadRequestException(ILLEGAL_REQUEST_FIELDS,"");
        }
    }

pom.xml

<modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.0</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
<properties>
        <java.version>1.8</java.version>
        <springfox-version>3.0.0</springfox-version>
        <log4j2.version>2.16.0</log4j2.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.5</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.2.3.Final</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-rest</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-rest-hal-explorer</artifactId>
        </dependency>
        <dependency>
            <groupId>com.warrenstrange</groupId>
            <artifactId>googleauth</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>2.0.1.Final</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hsqldb</groupId>
            <artifactId>hsqldb</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-ehcache</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.hibernate</groupId>
                    <artifactId>hibernate-core</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <!--springfox for swagger   -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-oas</artifactId>
            <version>${springfox-version}</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>${springfox-version}</version>
        </dependency>

        <dependency>
            <groupId>com.github.joschi.jackson</groupId>
            <artifactId>jackson-datatype-threetenbp</artifactId>
            <version>2.6.4</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

我已经找到了我的问题的解决方案,但我什至不了解它。 无论如何,当我为每个方法分配一个单独的路径时,它就开始工作了。 在我之前的代码中,我为不同的 HTTP 方法(GET、POST、PUT 等)分配了相同的路径值。我以前做过这个,但我从来没有遇到过这个错误。我正在尝试了解此错误的原因。

感谢您的建议

@RestController
    @RequestMapping(BACK_OFFICE_BASE_PATH)
    public class ManagementController {
    
        @Autowired
        ManagementService managementService;
    
        @GetMapping(  SLASH_PATH + "add")
        public List<RateTemp> getUpdateRequests(){
            return managementService.getUpdateRequests();
        }
    
        @PostMapping(  SLASH_PATH + "update")
        public RateTemp addRate(@RequestBody RateTemp body) throws BadRequestException {
            if(body != null){
                return managementService.addRate(body);
            }else throw new BadRequestException(ILLEGAL_REQUEST_FIELDS,"");
        }
    }