org.springframework.http.MediaType#sortBySpecificity ( )源码实例Demo

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

/**
 * Return the media types supported by all provided message converters sorted
 * by specificity via {@link MediaType#sortBySpecificity(List)}.
 */
private static List<MediaType> getAllSupportedMediaTypes(List<HttpMessageConverter<?>> messageConverters) {
	Set<MediaType> allSupportedMediaTypes = new LinkedHashSet<>();
	for (HttpMessageConverter<?> messageConverter : messageConverters) {
		allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
	}
	List<MediaType> result = new ArrayList<>(allSupportedMediaTypes);
	MediaType.sortBySpecificity(result);
	return Collections.unmodifiableList(result);
}
 
/**
 * Return the media types supported by all provided message converters sorted
 * by specificity via {@link MediaType#sortBySpecificity(List)}.
 */
private static List<MediaType> getAllSupportedMediaTypes(List<HttpMessageConverter<?>> messageConverters) {
	Set<MediaType> allSupportedMediaTypes = new LinkedHashSet<>();
	for (HttpMessageConverter<?> messageConverter : messageConverters) {
		allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
	}
	List<MediaType> result = new ArrayList<>(allSupportedMediaTypes);
	MediaType.sortBySpecificity(result);
	return Collections.unmodifiableList(result);
}
 
/**
 * Return the media types supported by all provided message converters sorted by
 * specificity via {@link MediaType#sortBySpecificity(List)}.
 * @param messageConverters list of converters
 * @return list of MediaTypes
 */
private List<MediaType> getAllSupportedMediaTypes(
		List<HttpMessageConverter<?>> messageConverters) {
	Set<MediaType> allSupportedMediaTypes = new LinkedHashSet<MediaType>();
	for (HttpMessageConverter<?> messageConverter : messageConverters) {
		allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
	}
	List<MediaType> result = new ArrayList<MediaType>(allSupportedMediaTypes);
	MediaType.sortBySpecificity(result);
	return unmodifiableList(result);
}
 
/**
 * Return the media types supported by all provided message converters sorted
 * by specificity via {@link MediaType#sortBySpecificity(List)}.
 */
private static List<MediaType> getAllSupportedMediaTypes(List<HttpMessageConverter<?>> messageConverters) {
	Set<MediaType> allSupportedMediaTypes = new LinkedHashSet<MediaType>();
	for (HttpMessageConverter<?> messageConverter : messageConverters) {
		allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
	}
	List<MediaType> result = new ArrayList<MediaType>(allSupportedMediaTypes);
	MediaType.sortBySpecificity(result);
	return Collections.unmodifiableList(result);
}
 
源代码5 项目: lams   文件: RestTemplate.java
@Override
public void doWithRequest(ClientHttpRequest request) throws IOException {
	if (this.responseType != null) {
		Class<?> responseClass = null;
		if (this.responseType instanceof Class) {
			responseClass = (Class<?>) this.responseType;
		}
		List<MediaType> allSupportedMediaTypes = new ArrayList<MediaType>();
		for (HttpMessageConverter<?> converter : getMessageConverters()) {
			if (responseClass != null) {
				if (converter.canRead(responseClass, null)) {
					allSupportedMediaTypes.addAll(getSupportedMediaTypes(converter));
				}
			}
			else if (converter instanceof GenericHttpMessageConverter) {
				GenericHttpMessageConverter<?> genericConverter = (GenericHttpMessageConverter<?>) converter;
				if (genericConverter.canRead(this.responseType, null, null)) {
					allSupportedMediaTypes.addAll(getSupportedMediaTypes(converter));
				}
			}
		}
		if (!allSupportedMediaTypes.isEmpty()) {
			MediaType.sortBySpecificity(allSupportedMediaTypes);
			if (logger.isDebugEnabled()) {
				logger.debug("Setting request Accept header to " + allSupportedMediaTypes);
			}
			request.getHeaders().setAccept(allSupportedMediaTypes);
		}
	}
}
 
/**
 * Return the media types supported by all provided message converters sorted
 * by specificity via {@link MediaType#sortBySpecificity(List)}.
 */
private static List<MediaType> getAllSupportedMediaTypes(List<HttpMessageConverter<?>> messageConverters) {
	Set<MediaType> allSupportedMediaTypes = new LinkedHashSet<MediaType>();
	for (HttpMessageConverter<?> messageConverter : messageConverters) {
		allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
	}
	List<MediaType> result = new ArrayList<MediaType>(allSupportedMediaTypes);
	MediaType.sortBySpecificity(result);
	return Collections.unmodifiableList(result);
}
 
源代码7 项目: spring4-understanding   文件: RestTemplate.java
@Override
public void doWithRequest(ClientHttpRequest request) throws IOException {
	if (this.responseType != null) {
		Class<?> responseClass = null;
		if (this.responseType instanceof Class) {
			responseClass = (Class<?>) this.responseType;
		}
		List<MediaType> allSupportedMediaTypes = new ArrayList<MediaType>();
		for (HttpMessageConverter<?> converter : getMessageConverters()) {
			if (responseClass != null) {
				if (converter.canRead(responseClass, null)) {
					allSupportedMediaTypes.addAll(getSupportedMediaTypes(converter));
				}
			}
			else if (converter instanceof GenericHttpMessageConverter) {
				GenericHttpMessageConverter<?> genericConverter = (GenericHttpMessageConverter<?>) converter;
				if (genericConverter.canRead(this.responseType, null, null)) {
					allSupportedMediaTypes.addAll(getSupportedMediaTypes(converter));
				}
			}
		}
		if (!allSupportedMediaTypes.isEmpty()) {
			MediaType.sortBySpecificity(allSupportedMediaTypes);
			if (logger.isDebugEnabled()) {
				logger.debug("Setting request Accept header to " + allSupportedMediaTypes);
			}
			request.getHeaders().setAccept(allSupportedMediaTypes);
		}
	}
}