Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未调用springboot restcontroller_Rest_Spring Boot - Fatal编程技术网

未调用springboot restcontroller

未调用springboot restcontroller,rest,spring-boot,Rest,Spring Boot,问题是我的rest控制器没有被调用 @SpringBootApplication(scanBasePackages = { "com.company.base" }) public class Application { public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } } @RestContro

问题是我的rest控制器没有被调用

@SpringBootApplication(scanBasePackages = { "com.company.base" })
public class Application {

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

@RestController
@RequestMapping("/data")
public class DataController {

    private static final Logger LOGGER = LogManager.getLogger(MethodHandles.lookup().lookupClass());

    @Autowired
    private SusbscriberRepository susbscriberRepository;

    @RequestMapping(value = "/subscribers", method = RequestMethod.GET)
    public HttpEntity<SubscriberResource> findAll() {
     ...
    }

    @RequestMapping(value = "/subscriber/{id}", method = RequestMethod.GET)
    public ResponseEntity<SubscriberResource> findSubscriber(@PathVariable(value = "id") Long id) {
      ...
    }
}


<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.company.base</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Grenty</name>
    <description>Grenty project</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.4.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <log4j.version>1.2.17</log4j.version>
    </properties>

    <organization>
        <name>SA Technologies</name>
        <url>www.satechnologies.com</url>
    </organization>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.httpcomponents</groupId>
                    <artifactId>httpclient</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-hateoas</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.hateoas</groupId>
            <artifactId>spring-hateoas</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.5.4-Final</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.2</version><!--$NO-MVN-MAN-VER$ -->
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
                <version>1.4.196</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>de.jpdigital</groupId>
                <artifactId>hibernate5-ddl-maven-plugin</artifactId>
                <version>1.0.1-hibernate-5.1.2.Final</version>
                <configuration>
                    <dialects>
                        <param>postgresql9</param>
                    </dialects>
                    <packages>
                        <param>com.company.base.model</param>
                    </packages>
                    <outputDirectory>${project.basedir}/docs/sql</outputDirectory>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>gen-ddl</goal>
                        </goals>
                        <phase>process-classes</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
@SpringBootApplication(scanBasePackages={“com.company.base”})
公共类应用程序{
公共静态void main(字符串[]args)引发异常{
SpringApplication.run(Application.class,args);
}
}
@RestController
@请求映射(“/data”)
公共类数据控制器{
私有静态最终记录器Logger=LogManager.getLogger(MethodHandles.lookup().lookupClass());
@自动连线
私人储蓄储蓄储蓄储蓄储蓄储蓄;
@RequestMapping(value=“/subscribers”,method=RequestMethod.GET)
公共HttpEntity findAll(){
...
}
@RequestMapping(value=“/subscriber/{id}”,method=RequestMethod.GET)
public ResponseEntity findSubscriber(@PathVariable(value=“id”)长id){
...
}
}
4.0.0
com.company.base
演示
0.0.1-快照
罐子
格雷特
格雷特项目
org.springframework.boot
spring启动程序父级
1.5.4.1发布
UTF-8
UTF-8
1.8
1.2.17
SA技术
www.satechnologies.com
org.springframework.boot
弹簧启动机amqp
org.apache.httpcomponents
httpclient
org.springframework.boot
spring引导启动器数据jpa
org.springframework.boot
弹簧靴启动器hateoas
org.springframework.boot
弹簧启动启动器验证
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
弹簧靴自动配置
org.springframework.hateoas
春风
org.springframework
春季甲虫
org.springframework
spring上下文
org.springframework
春豆
org.postgresql
postgresql
org.apache.commons
commons-lang3
3.6
log4j
log4j
${log4j.version}
org.hibernate
冬眠核心
org.hibernate
休眠验证器
org.hibernate
休眠实体管理器
org.hibernate
冬眠
3.5.4-最终版本
聚甲醛
org.apache.httpcomponents
httpclient
4.5.2
com.h2数据库
氢
1.4.196
测试
数码
hibernate5 ddl maven插件
1.0.1-hibernate-5.1.2.Final
postgresql9
com.company.base.model
${project.basedir}/docs/sql
发电机ddl
进程类
在Springboot启动日志中,映射了这些url

我肯定我遗漏了什么,但我不确定是什么


甚至弹簧示例也不起作用:
gs执行器维修主机

三件事可能有问题

  • spring boot starter tomcat
    &
    spring boot starter web
    libs可能丢失
  • 您的控制器必须位于
    com.company.base
    包下,因为您定义了
    scanBasePackages
  • Spring引导应用程序必须与
    SpringBootServletilizer
    一起运行。这种情况仅在您作为Java应用程序运行时需要,而在从mvn命令运行时则不需要
  • 请添加库并更新您的
    应用程序.java
    ,然后重试

    @SpringBootApplication
    public class Application extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(Application.class);
        }
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(Application.class, args);
        }
    
    }
    

    如果控制器在启动应用程序包或子包下,请删除scanBasePackages={“com.company.base”}。 或者在组件扫描中也包括主类的包

    我也面临类似的问题。 我添加了SpringMVC依赖项

    compile "org.springframework:spring-webmvc:5.1.3.RELEASE"
    
    默认情况下,主类应该在根包中。我将主类放入另一个包中,因此我必须扫描组件并添加其他可用组件

    package root.package1
    
    @SpringBootApplication(scanBasePackages = {"root"})
    
    公共类WebAppMain{

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

    将控制器类移动到应用程序类的子包中

    like 
        com.company.base for Application class
        com.company.base.controller for DataController class
    

    然后spring boot将自动扫描控制器。

    请阅读-总结是,这不是一种解决志愿者问题的理想方式,可能会对获得答案产生反作用。请不要将此添加到您的问题中。您能否详细说明当您向其中一个端点发出HTTP请求时会发生什么?您是否同意没有响应?如果有,HTTP状态是什么?另外,我没有看到spring boot starter web依赖项…这是最传统的方法。我得到了白标错误页面和404 HTTP错误。那么缺少spring boot starter web依赖项又如何?如果你能在GitHub上共享一个复制该问题的最小示例应用程序,那么在上会有帮助。在我的情况下,spring boot starter web丢失了。感谢您指出这一点!