简体   繁体   中英

Spring boot webflux handling request with Reactive programming

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?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM