wg-gateway/src/main/java/ink/wgink/gateway/router/RouteRouter.java

44 lines
1.6 KiB
Java

package ink.wgink.gateway.router;
import ink.wgink.gateway.handler.route.RouteHandler;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;
import org.springframework.web.reactive.function.server.RequestPredicates;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.RouterFunctions;
import org.springframework.web.reactive.function.server.ServerResponse;
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候,想想当初你为何开始
*
* @ClassName: RouteRouter
* @Description: 路由管理
* @Author: wanggeng
* @Date: 2021/4/20 10:19 上午
* @Version: 1.0
*/
@Component
public class RouteRouter {
/**
* 路由管理
*
* @param routeHandler
* @return
*/
@Bean
public RouterFunction<ServerResponse> routeRouterFunction(RouteHandler routeHandler) {
// 嵌套
return RouterFunctions.nest(RequestPredicates.path("/wg/route"),
RouterFunctions
.route(RequestPredicates.POST("/save"), routeHandler::save)
.andRoute(RequestPredicates.DELETE("/delete/{ids}"), routeHandler::delete)
.andRoute(RequestPredicates.PUT("/update/{id}"), routeHandler::update)
.andRoute(RequestPredicates.GET("/list"), routeHandler::list)
.andRoute(RequestPredicates.GET("/listpage"), routeHandler::listPage)
.andRoute(RequestPredicates.GET("get/{id}"), routeHandler::get)
);
}
}