org.springframework.core.codec.Hints# merge ( ) 源码实例Demo

下面列出了org.springframework.core.codec.Hints# merge ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。


@Override
public Mono<MultiValueMap<String, Part>> readMono(ResolvableType elementType,
		ReactiveHttpInputMessage inputMessage, Map<String, Object> hints) {


	Map<String, Object> allHints = Hints.merge(hints, Hints.SUPPRESS_LOGGING_HINT, true);

	return this.partReader.read(elementType, inputMessage, allHints)
			.collectMultimap(Part::name)
			.doOnNext(map ->
				LogFormatUtils.traceDebug(logger, traceOn -> Hints.getLogPrefix(hints) + "Parsed " +
						(isEnableLoggingRequestDetails() ?
								LogFormatUtils.formatValue(map, !traceOn) :
								"parts " + map.keySet() + " (content masked)"))
			)
			.map(this::toMultiValueMap);
}
 

@Override
public Mono<MultiValueMap<String, Part>> readMono(ResolvableType elementType,
		ReactiveHttpInputMessage inputMessage, Map<String, Object> hints) {


	Map<String, Object> allHints = Hints.merge(hints, Hints.SUPPRESS_LOGGING_HINT, true);

	return this.partReader.read(elementType, inputMessage, allHints)
			.collectMultimap(Part::name)
			.doOnNext(map -> {
				LogFormatUtils.traceDebug(logger, traceOn -> Hints.getLogPrefix(hints) + "Parsed " +
						(isEnableLoggingRequestDetails() ?
								LogFormatUtils.formatValue(map, !traceOn) :
								"parts " + map.keySet() + " (content masked)"));
			})
			.map(this::toMultiValueMap);
}
 

@Override
public Flux<T> read(ResolvableType actualType, ResolvableType elementType,
		ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getReadHints(actualType, elementType, request, response));

	return read(elementType, request, allHints);
}
 

@Override
public Mono<T> readMono(ResolvableType actualType, ResolvableType elementType,
		ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getReadHints(actualType, elementType, request, response));

	return readMono(elementType, request, allHints);
}
 

@Override
public Mono<Void> write(Publisher<? extends T> inputStream, ResolvableType actualType,
		ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request,
		ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getWriteHints(actualType, elementType, mediaType, request, response));

	return write(inputStream, elementType, mediaType, response, allHints);
}
 

@Override
public Mono<Void> write(Publisher<?> input, ResolvableType actualType, ResolvableType elementType,
		@Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response,
		Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getEncodeHints(actualType, elementType, mediaType, request, response));

	return write(input, elementType, mediaType, response, allHints);
}
 

@Override
public Flux<T> read(ResolvableType actualType, ResolvableType elementType,
		ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getReadHints(actualType, elementType, request, response));

	return read(elementType, request, allHints);
}
 

@Override
public Mono<T> readMono(ResolvableType actualType, ResolvableType elementType,
		ServerHttpRequest request, ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getReadHints(actualType, elementType, request, response));

	return readMono(elementType, request, allHints);
}
 

@Override
public Mono<Void> write(Publisher<? extends T> inputStream, ResolvableType actualType,
		ResolvableType elementType, @Nullable MediaType mediaType, ServerHttpRequest request,
		ServerHttpResponse response, Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getWriteHints(actualType, elementType, mediaType, request, response));

	return write(inputStream, elementType, mediaType, response, allHints);
}
 

@Override
public Mono<Void> write(Publisher<?> input, ResolvableType actualType, ResolvableType elementType,
		@Nullable MediaType mediaType, ServerHttpRequest request, ServerHttpResponse response,
		Map<String, Object> hints) {

	Map<String, Object> allHints = Hints.merge(hints,
			getEncodeHints(actualType, elementType, mediaType, request, response));

	return write(input, elementType, mediaType, response, allHints);
}
 

@Override
public <T> T body(BodyExtractor<T, ? super ServerHttpRequest> extractor, Map<String, Object> hints) {
	hints = Hints.merge(hints, Hints.LOG_PREFIX_HINT, exchange().getLogPrefix());
	return bodyInternal(extractor, hints);
}
 

@Override
public <T> T body(BodyExtractor<T, ? super ServerHttpRequest> extractor, Map<String, Object> hints) {
	hints = Hints.merge(hints, Hints.LOG_PREFIX_HINT, exchange().getLogPrefix());
	return bodyInternal(extractor, hints);
}