springboot webflux 参数传递(表单传递)
表单传递的参数可使用注解(@RequestParam)读取,也可使用路由函数处理
***************************
注解:@RequestParam
@RestController
public class HelloController {
@RequestMapping("/get2")
public String hello2(@RequestParam String name){
System.out.println("name:"+name);
return name;
}
@RequestMapping("/get3")
public String hello3(ServerWebExchange exchange){
String name=exchange.getRequest().getQueryParams().getFirst("name");
System.out.println("name:"+name);
return name;
}
@RequestMapping("/get4")
public Mono<String> hello4(ServerHttpRequest request){
String name=request.getQueryParams().getFirst("name");
System.out.println("name:"+name);
assert name != null;
return Mono.just(name);
}
}
***************************
路由函数
public class CustomRouterConfig {
@Bean
public RouterFunction<ServerResponse> initRouterFunction(){
return RouterFunctions.route()
.POST("/hello2",serverRequest -> {
String name=serverRequest.exchange().getRequest().getQueryParams().getFirst("name");
System.out.println("name:"+name);
assert name != null;
return ServerResponse.ok().bodyValue(name);
})
.build();
}
}