I am using Spring boot webflux 2.4.2 with Spring Data R2DBC.
Router config,
public RouterFunction<ServerResponse> regRoute() {
return RouterFunctions.route(POST("/api/v1/register").and(accept(APPLICATION_JSON)), regHandler::register);
}
Handler,
public Mono<ServerResponse> register(ServerRequest request) {
return request.bodyToMono(RegisterRequest.class).flatMap(req -> retrieveOrg(req)).flatMap(orgDao::save)
.flatMap(p -> ServerResponse.created(URI.create("/register")).build());
}
private Mono<Organization> retrieveOrg(final Register registerRequest)
{
final Org org = new Org();
org.setName(registerRequest.getOrgName());
org.setState(registerRequest.getState());
return Mono.just(org);
}
private Mono<Organization> retrieveUser(final Register registerRequest)
{
final User usr = new User();
usr.setName(registerRequest.getName());
return Mono.just(usr);
}
Here, I read the request and store in org table. But, I need to get the created OrgId and then create a record in user table with that orgId. How to do with flux?
question from:
https://stackoverflow.com/questions/65946951/spring-boot-webflux-handling-request-with-reactive-programming 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…