HTTP 状态 404 - 在 Spring Boot 中调用 url 时未找到

Posted

技术标签:

【中文标题】HTTP 状态 404 - 在 Spring Boot 中调用 url 时未找到【英文标题】:HTTP Status 404 – Not Found while calling url in spring boot 【发布时间】:2021-09-25 15:18:00 【问题描述】:

Service response in browser

在简单创建的 Spring Boot 应用程序的浏览器上调用 URL 时,我收到 HTTP 状态 404。下面是代码。我的代码中没有错误或问题。我只是从互联网上复制过去的代码。

主 spring boot 应用类


   package com.springboot.app;
   
   import org.springframework.boot.SpringApplication;
   import org.springframework.boot.autoconfigure.SpringBootApplication;
   import org.springframework.context.annotation.ComponentScan;
   
   @SpringBootApplication
   public class SampleBootAppApplication 
   
       public static void main(String[] args) 
           SpringApplication.run(SampleBootAppApplication.class, args);
       
   
   

下面是控制器类

控制器类


    package com.springboot.app.controller;
    
    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class AppController 
    
        
        @GetMapping("/test")
        @ResponseBody
        public String getName()
        
            return "adil abdullah";
        
    

项目结构:

Project structure in spring tool suite

【问题讨论】:

显示您的 application.properties 文件。您可以删除 ResponseBody。使用 @Controller 注解时需要它 您是否在 application.properties 中放置了任何上下文路径? 【参考方案1】:

访问网址错误:http://localhost:8080/test 它应该有上下文路径,它将在 application.properties 文件中 比如,server.servlet.context.path = /samplebootapp 访问网址:http://localhost:8080/samplebootapp/test

【讨论】:

OP 还没有共享属性文件。您的答案基于预测。最好让他分享细节并做出相应的回应。【参考方案2】:

使用这个

package com.springboot.app.controller;
    
    import org.springframework.web.bind.annotation.*;
    import org.springframework.stereotype.Controller;
    
    @Controller
    public class AppController 
    
        
        @GetMapping("/test")
        @ResponseBody
        public String getName()

            return "adil abdullah";
        
    

并将其粘贴到浏览器 http:localhost:8080/test

【讨论】:

【参考方案3】:

包结构中的问题。如果你有正确的包结构,那么主应用程序应该在 (src/main/java) 中可用。这就是组件扫描中缺少控制器的原因。遵循以下方法。

    删除控制器包并通过右键单击不是来自src/main/java的基本包重新创建

    或者添加@ComponentScan(basePackages = "com.springboot.app")

【讨论】:

找不到页面意味着您的应用程序运行位可以找到该 URL。如果不提供完整代码,我确信您的控制器 bean 未初始化。我们可以假设您提供的任何内容。

以上是关于HTTP 状态 404 - 在 Spring Boot 中调用 url 时未找到的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security 登录错误:HTTP 状态 404 - /j_spring_security_check

为啥 Spring Boot 中的 REST 控制器返回 HTTP 状态 404 – 未找到

Spring Boot POST 请求返回 http 状态 405“方法不允许”而不是 HTTP 状态 404

HTTP 状态 404 - /spring-mvc/login

Spring MVC:HTTP状态404:请求的资源不可用

j_spring_security_check HTTP 状态 404(自定义登录)