如何将 ModelAndView Spring MVC 转换为 spring Webflux

How to convert ModelAndView Spring MVC to spring Webflux

如何将以下 Spring MVC 代码转换为 spring webflux?

@GetMapping(path = "/connect")
@ResponseStatus(HttpStatus.FOUND)
public ModelAndView connect() {
  
    String oauthUrl = "https://google.com";
    RedirectView redirect = new RedirectView(oauthUrl);
    redirect.setExpandUriTemplateVariables(false);
    return new ModelAndView(redirect);
  }
    

您可以使用 Rendering

@Controller
@RequestMapping("/redirect")
public class RedirectController {

    @GetMapping
    public Mono<Rendering> redirect() {
        return Mono.just(Rendering.redirectTo("https://www.google.com").build());
    }
}

@RestController

public class TestController {


        @GetMapping(path = "/redirect")
    public Mono<ResponseEntity> redirect() {
        return Mono.just(ResponseEntity
                .status(HttpStatus.TEMPORARY_REDIRECT)
                .header("Location", "https://google.com?param=ABCD")
                .build());
    }
}

或者.header(...)可以替换为.location(new URI(...))