@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); }); }
你的类上面加了@Configuration注解么?
我也遇到这个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>
我的是依赖的问题,需要去掉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>
检查三个:1、端口是否正确,2、添加配置注入标识 @Configuration 3、路径确保正确。如果以上三个都没有问题就不会报错了,404就是找不到路径,课件里是“//”,如果你报错404 试一下"/" 。
如果以上全部正确还是报错,检查一下你时使用的webflux启动的么?还是你用idea创建默认服务器是Tomcat,如果是Tomcat,及时服务器使用正确,也不查找执行routerfunction , 需要修改启动服务器方式。再重新执行就可以了。
我都没有加web依赖 其他的也都检查过了 但是debug还是不进方法体
我也是,Get请求出现错误信息404,路径也没写错,注解也加了,头疼,你发现错误了吗
我加了 这个
@Configurable
所以错了
得加这个
@Configuration