问答详情
源自:2-4 第一个 Spring Boot 应用(三)

post方法没有问题,但是get方法为什么返回404?debug时不走方法

@Bean   //路由函数
@Autowired  //注入用户仓储,保证数据来源(方法注入)
public RouterFunction<ServerResponse> personFindAll(UserRepository userRepository){
   return RouterFunctions.route(RequestPredicates.GET("/person/find/all"),
            request ->{
                //返回所有用户对象
                Collection<User> users = userRepository.findAll();
                Flux<User> userFlux = Flux.fromIterable(users);
                return ServerResponse.ok().body(userFlux, User.class);
            });
}


提问者:qq_慕竹_0 2019-03-01 15:53

个回答

  • 有梦想的人不睡觉11
    2019-03-03 23:54:46
    已采纳

    你的类上面加了@Configuration注解么?

  • 慕侠1467711
    2020-04-27 09:52:33

    我也遇到这个404,就修改了pom文件,重启项目就好了。

    我的pom文件如下:

        <dependencies>
            <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-web</artifactId>-->
            <!--</dependency>-->
    <!--配置使用 jetty容器-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <exclusions>
                    <exclusion>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-tomcat</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
            <!--<dependency>-->
                <!--<groupId>org.springframework.boot</groupId>-->
                <!--<artifactId>spring-boot-starter-jetty</artifactId>-->
            <!--</dependency>-->
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-webflux</artifactId>
            </dependency>
    
            <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-tomcat</artifactId>-->
            <!--<scope>provided</scope>-->
            <!--</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>
            <dependency>
                <groupId>io.projectreactor</groupId>
                <artifactId>reactor-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>


  • 春天大概需要你
    2020-01-02 10:05:57

    我的是依赖的问题,需要去掉web依赖,然后添加的依赖是这个

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>
    ;
    而之前报404的是因为我的依赖是这个
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webflux</artifactId>
    </dependency>


  • hanruobing
    2019-12-10 14:37:30

    检查三个:1、端口是否正确,2、添加配置注入标识 @Configuration 3、路径确保正确。如果以上三个都没有问题就不会报错了,404就是找不到路径,课件里是“//”,如果你报错404 试一下"/" 。

    如果以上全部正确还是报错,检查一下你时使用的webflux启动的么?还是你用idea创建默认服务器是Tomcat,如果是Tomcat,及时服务器使用正确,也不查找执行routerfunction , 需要修改启动服务器方式。再重新执行就可以了。

  • 慕圣6407263
    2019-06-04 14:46:19

    我都没有加web依赖 其他的也都检查过了 但是debug还是不进方法体

  • 哑巴v
    2019-04-18 00:08:43

    我也是,Get请求出现错误信息404,路径也没写错,注解也加了,头疼,你发现错误了吗


  • 枝丫儿风吹吹
    2019-03-12 17:07:21

    我加了 这个

    @Configurable

    所以错了

    得加这个

    @Configuration