Springboot Restcontroller拒绝工作

时间:2018-04-24 18:55:15

标签: java rest spring-boot

我花了最后2个小时试图通过我的简单springboot休息应用程序弄清楚神的名字是怎么回事。

无论我做什么,我都无法让restvtroller工作,我尝试的每个URL都给了我404.这是我的代码如下。

    @RestController 
    public class PbxPortalRestControllerSet {

     @RequestMapping("/testMe")
     public String testMe()
     {
      return "I am alive";
     }
   }



    @SpringBootApplication
    public class PbxPortalApplication {

    public static void main(String[] args) {
    SpringApplication.run(PbxPortalApplication.class, args);
     }
}
 Application.properties file
 server.port = 8088

任何人都可以告诉他们到底发生了什么事吗?我以前做了很多次,但我不能为我的生活找出为什么拒绝工作。

我尝试去localhost:8088 / testMe,我得到404.

4 个答案:

答案 0 :(得分:0)

如果PbxPortalApplicationPbxPortalApplication类位于不同的包中,则需要告诉应用程序在加载应用程序上下文时扫描控制器。

@ComponentScan添加到PbxPortalApplication班级

@SpringBootApplication
@ComponentScan(basePackageClasses = PbxPortalRestControllerSet.class)
public class PbxPortalApplication

答案 1 :(得分:0)

我发现了这个问题。我使用了错误的POM条目。我以某种方式使用泽西而不是内置的春天。出于某种原因,即使我使用了错误的库,eclipse也告诉我,我的注释条目非常好。一旦我删除泽西岛的条目一切正常

答案 2 :(得分:0)

@RestController
public class DemoController {

    @GetMapping(value= "/getName")
    public String getName(){
        return "This is a Spring Boot Application";
    }
}

主类很简单:

package com.pcftest.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

你可以尝试一次吗?并看看它是否有效..

@RequestMapping(value= "/testMe" , method = RequestMethod.GET)

基本上,有时当您不提供请求方法类型时,您会遇到此类错误

答案 3 :(得分:0)

您似乎已经将控制器与Spring SpringApplication文件放在不同的子包中。所以从Spring main()无法访问Controller 请添加

@SpringBootApplication
@ComponentScan("ControllersPackege")

<强> CodeSnipet:SpringBootApplication

@SpringBootApplication
@ComponentScan("ControllerPackege")
public class PbxPortalApplication {

public static void main(String[] args) {
    SpringApplication.run(PbxPortalApplication.class, args);
    }
}

<强> CodeSnipet:控制器

@RestController 
public class PbxPortalRestControllerSet {

@RequestMapping("/testMe")
     public String testMe()
     {
      return "I am alive";
     }
}

application.properties文件

server.port = 8088

<强> NB: 放入相同包或将控制器类放入子包的最佳方法