List of usage examples for org.springframework.web.reactive.function.server ServerRequest principal
Mono<? extends Principal> principal();
From source file:com.example.talk.TalkEndpoint.java
Mono<ServerResponse> all(final ServerRequest request) { return request.principal().cast(UsernamePasswordAuthenticationToken.class) .map(UsernamePasswordAuthenticationToken::getPrincipal).cast(UserAdapter.class) .map(UserAdapter::getUserId).map(talkRoomRepository::findTalkRoomByUserId) .flatMap(Flux::collectList)/* www . ja va 2s. c o m*/ .flatMap(list -> ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).body(Mono.just(list), new ParameterizedTypeReference<List<TalkRoom>>() { })) .switchIfEmpty(ServerResponse.notFound().build()); }
From source file:com.example.message.MessageEndpoint.java
private Mono<ServerResponse> createMessage(final ServerRequest request) { final Mono<Message> messageMono = request.principal().cast(UsernamePasswordAuthenticationToken.class) .map(UsernamePasswordAuthenticationToken::getPrincipal).cast(AuthenticatedUser.class) .map(AuthenticatedUser::getUser) .flatMap(user -> request.bodyToMono(TextMessage.class).map(message -> message.toMessage(user))) .flatMap(messageRepository::save); return messageMono .map(message -> request.uriBuilder().path("/messages/{message_id}").build(message.getId())) .map(ServerResponse::created).flatMap(res -> res.body(messageMono, Message.class)); }