route
return RouterFunction.route(RequestPredicates.GET("/person/find/all"),
为啥我的这句话中route报错,
代码:
package com.example.somefrist.config; import com.example.somefrist.domain.User; import com.example.somefrist.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.reactive.function.server.RequestPredicates; import org.springframework.web.reactive.function.server.RouterFunction; import org.springframework.web.reactive.function.server.ServerResponse; import reactor.core.publisher.Flux; import java.util.Collection; /** * * * 路由器函数注释 */ @Configuration //类所处的对象是配置对象 public class RouterFunctionConfiguration { /** * Servlet * 请求接口 ServletRequest 或者 HttpServletRequest * 响应接口 ServletResponse 后者 HttpServletResponse * * spring5.0重新定义了服务端的请求和响应接口: * 请求接口:ServerRequest * 响应接口:ServerResponse * * 既可以支持Servlet规范,也可以支持自定义,比如:Netty(Web Server) * * * 以本利: * 定义GET请求,并且返回所有的用户对象, URI:/person/find/all * * * Flux是0-N个对象集合 * Mono是 0-1 个对象集合 * * Reactive 中 Flux 或者 Mono 它是异步处理 * * 集合对象基本上是同步处理(阻塞式) * * Flux 或者 Mono 都是 Publisher, */ @Bean @Autowired public RouterFunction<ServerResponse> personFindAll (UserRepository userRepository){ return RouterFunction.route(RequestPredicates.GET("/person/find/all"), request->{ Collection<User> users = userRepository.findAll(); //返回所有用户对象 //Mono<ServerResponse> response = null; Flux<User> userFlux = Flux.fromIterable(users); //ServerResponse.ok().body(userFlux, User.class); return ServerResponse.ok().body(userFlux, User.class); }); } }
报错原因