How to redirect a request in spring webflux?

穿精又带淫゛_ 提交于 2019-12-31 02:19:06

问题


how can I create a redirect rest web service in spring WebFlux? It seems that there is no redirect functionality in WebFlux yet!

I want something like this:

 @Bean
RouterFunction<ServerResponse> monoRouterFunction() {
    return 
        route(GET("/redirect/{id}"),{
            req -> req.Redirect( fetchAUrlFromDataBase() )
        })

回答1:


@Bean
RouterFunction<ServerResponse> routerFunction() {
     route(GET("/redirect"), { req ->
          ServerResponse.temporaryRedirect(URI.create(TargetUrl))
                    .build()
        }
    })

}

Thanks you very much Johan Magnusson




回答2:


You can add below code in Spring boot main class to redirect '/' request to '/login' page.

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

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

    @Bean
    RouterFunction<ServerResponse> routerFunction() {
        return  route(GET("/"), req ->
                ServerResponse.temporaryRedirect(URI.create("/login"))
                        .build());
    }
}


来源:https://stackoverflow.com/questions/50502377/how-to-redirect-a-request-in-spring-webflux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!