public Mono<ServerResponse> route2(ServerRequest request) { assertThat((ServiceRequestContext) RequestContext.current()).isNotNull(); return Mono.from(request.bodyToMono(Map.class)) .map(map -> assertThat(map.get("a")).isEqualTo(1)) .then(ServerResponse.ok().contentType(MediaType.APPLICATION_JSON) .body(BodyInserters.fromObject("[\"route\"]"))); } }
Mono<ServerResponse> string(ServerRequest request) { return ServerResponse.ok() .contentType(MediaType.TEXT_EVENT_STREAM) .body(INTERVAL.map(aLong -> "foo " + aLong), String.class); }
Mono<ServerResponse> person(ServerRequest request) { return ServerResponse.ok() .contentType(MediaType.TEXT_EVENT_STREAM) .body(INTERVAL.map(aLong -> new Person("foo " + aLong)), Person.class); }
public Mono<ServerResponse> getAllUsers(ServerRequest request) { Flux<User> allUsers = userReactiveRepository.findAll(); return ServerResponse.ok().contentType(MediaType.APPLICATION_JSON_UTF8) .body(allUsers, User.class); }
public Mono<ServerResponse> saveUser(final ServerRequest request) { return ServerResponse.ok() .contentType(APPLICATION_STREAM_JSON) .body(request.bodyToFlux(User.class) .flatMap(users::save), User.class); } }
@Bean HandlerFunction<ServerResponse> getCountQueryHandler() { return request -> ok().contentType(APPLICATION_JSON_UTF8) .body(Flux.fromIterable(orderRepository.findAllPrices()), Price.class); }
public Mono<ServerResponse> sendTimePerSec(ServerRequest serverRequest) { return ok().contentType(MediaType.TEXT_EVENT_STREAM).body( // 1 Flux.interval(Duration.ofSeconds(1)). // 2 map(l -> new SimpleDateFormat("HH:mm:ss").format(new Date())), String.class); } }
public Mono<ServerResponse> hello(ServerRequest request) { return ServerResponse .ok() .contentType(MediaType.TEXT_PLAIN) .body(BodyInserters.fromObject("Hello, World")); }
public Mono<ServerResponse> streamUsers(final ServerRequest inore) { return ServerResponse.ok() .contentType(APPLICATION_STREAM_JSON) .body(users.findAny(), User.class); }
public Mono<ServerResponse> streamQuotes(ServerRequest request) { return ok() .contentType(APPLICATION_STREAM_JSON) .body(this.quoteStream, Quote.class); }
public Mono<ServerResponse> getUserById(ServerRequest request) { Mono<User> userMono = userReactiveRepository.findById(request.pathVariable("id")); Mono<ServerResponse> notFount = ServerResponse.notFound().build(); return userMono.flatMap(user -> ServerResponse.ok() .contentType(MediaType.APPLICATION_JSON_UTF8) .body(fromObject(user))) .switchIfEmpty(notFount); }
@Override protected Mono<ServerResponse> renderErrorResponse(ServerRequest request) { Map<String, Object> error = getErrorAttributes(request, isIncludeStackTrace(request, MediaType.ALL)); HttpStatus errorStatus = getHttpStatus(error); Throwable throwable = getError(request); return ServerResponse.status(errorStatus) .contentType(MediaType.APPLICATION_JSON_UTF8) .body(BodyInserters.fromObject(gateWayExceptionHandlerAdvice.handle(throwable))) .doOnNext((resp) -> logError(request, errorStatus)); } }
public Mono<ServerResponse> sendTimePerSec(ServerRequest serverRequest) { return ok().contentType(MediaType.TEXT_EVENT_STREAM).body( // 1 Flux.interval(Duration.ofSeconds(1)). // 2 map(l -> new SimpleDateFormat("HH:mm:ss").format(new Date())), String.class); }
private Mono<ServerResponse> renderErrorResponse(final ServerRequest request) { final Map<String, Object> errorPropertiesMap = getErrorAttributes(request, true); return ServerResponse.status(HttpStatus.OK) .contentType(MediaType.APPLICATION_JSON_UTF8) .body(BodyInserters.fromObject(errorPropertiesMap)); } }
public Mono<ServerResponse> listUsersChunked(ServerRequest request) { Flux<User> userFlux = userReactiveRepository.findAll().repeat(30000); Map<String,Object> data = new HashMap<>(); data.put("users", userFlux); return ServerResponse.ok().contentType(MediaType.TEXT_HTML).render("users", data); }
public Mono<ServerResponse> fetchQuotes(ServerRequest request) { int size = Integer.parseInt(request.queryParam("size").orElse("10")); return ok() .contentType(APPLICATION_JSON) .body(this.quoteStream.take(size), Quote.class); } }
public Mono<ServerResponse> getPerson(ServerRequest request) { int personId = Integer.valueOf(request.pathVariable("id")); Mono<ServerResponse> notFound = ServerResponse.notFound().build(); Mono<Person> personMono = this.repository.getPerson(personId); return personMono .flatMap(person -> ServerResponse.ok().contentType(APPLICATION_JSON).body(fromObject(person))) .switchIfEmpty(notFound); }
@Bean public RouterFunction<ServerResponse> monoRouterFunction(NameHandler nameHandler, GreetingHandler greetingHandler) { return route(GET("/"), serverRequest -> ServerResponse.ok().contentType(MediaType.TEXT_HTML).body( greetingHandler.getGreetingStringMono(serverRequest.headers().asHttpHeaders(). getAcceptLanguageAsLocales().get(0).toLanguageTag()).concatWith(Mono.just(" ")). concatWith(nameHandler.getNameStringMono()), String.class)); }
public Mono<ServerResponse> route(ServerRequest request) { assertThat((ServiceRequestContext) RequestContext.current()).isNotNull(); return ServerResponse.ok().contentType(MediaType.TEXT_PLAIN) .body(BodyInserters.fromObject("route")); }
@Test public void contentType() { Mono<ServerResponse> result = ServerResponse.ok().contentType(MediaType.APPLICATION_JSON).build(); StepVerifier.create(result) .expectNextMatches(response -> MediaType.APPLICATION_JSON.equals(response.headers().getContentType())) .expectComplete() .verify(); }