本文整理匯總了Java中org.springframework.http.converter.HttpMessageConverter.canRead方法的典型用法代碼示例。如果您正苦於以下問題:Java HttpMessageConverter.canRead方法的具體用法?Java HttpMessageConverter.canRead怎麽用?Java HttpMessageConverter.canRead使用的例子?那麽恭喜您, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.springframework.http.converter.HttpMessageConverter的用法示例。
在下文中一共展示了HttpMessageConverter.canRead方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於我們的係統推薦出更棒的Java代碼示例。
示例1: extractData
點讚 3
import org.springframework.http.converter.HttpMessageConverter; //導入方法依賴的package包/類
@Override
public T extractData(ResponseEntity responseEntity) throws IOException {
MediaType contentType = getContentType(responseEntity);
for (HttpMessageConverter> messageConverter : this.messageConverters) {
if (messageConverter instanceof GenericHttpMessageConverter) {
GenericHttpMessageConverter> genericMessageConverter =
(GenericHttpMessageConverter>) messageConverter;
if (genericMessageConverter.canRead(this.responseType, null, contentType)) {
return (T) genericMessageConverter.read(this.responseType, null, responseEntity.getBody());
}
}
if (this.responseClass != null) {
if (messageConverter.canRead(this.responseClass, contentType)) {
return (T) messageConverter.read((Class) this.responseClass, responseEntity.getBody());
}
}
}
throw new WxApiResponseException("不能轉換相應數據為類型:" + this.responseType, responseEntity);
}
開發者ID:FastBootWeixin,項目名稱:FastBootWeixin,代碼行數:21,
示例2: doWithRequest
點讚 2
import org.springframework.http.converter.HttpMessageConverter; //導入方法依賴的package包/類
@Override
public void doWithRequest(ClientHttpRequest request) throws IOException {
if (responseType != null) {
Class> responseClass = null;
if (responseType instanceof Class) {
responseClass = (Class>) responseType;
}
List allSupportedMediaTypes = new ArrayList();
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(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);
}
}
}
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:35,
示例3: extractData
點讚 2
import org.springframework.http.converter.HttpMessageConverter; //導入方法依賴的package包/類
@Override
@SuppressWarnings({ "unchecked", "rawtypes" })
public T extractData(ClientHttpResponse response) throws IOException {
if (!hasMessageBody(response)) {
return null;
}
MediaType contentType = getContentType(response);
for (HttpMessageConverter> messageConverter : this.messageConverters) {
if (messageConverter instanceof GenericHttpMessageConverter) {
GenericHttpMessageConverter> genericMessageConverter = (GenericHttpMessageConverter>) messageConverter;
if (genericMessageConverter.canRead(this.responseType, null, contentType)) {
if (logger.isDebugEnabled()) {
logger.debug("Reading [" + this.responseType + "] as \"" +
contentType + "\" using [" + messageConverter + "]");
}
return (T) genericMessageConverter.read(this.responseType, null, response);
}
}
if (this.responseClass != null) {
if (messageConverter.canRead(this.responseClass, contentType)) {
if (logger.isDebugEnabled()) {
logger.debug("Reading [" + this.responseClass.getName() + "] as \"" +
contentType + "\" using [" + messageConverter + "]");
}
return (T) messageConverter.read((Class) this.responseClass, response);
}
}
}
throw new RestClientException(
"Could not extract response: no suitable HttpMessageConverter found for response type [" +
this.responseType + "] and content type [" + contentType + "]");
}
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:34,
示例4: readWithMessageConverters
點讚 2
import org.springframework.http.converter.HttpMessageConverter; //導入方法依賴的package包/類
@SuppressWarnings({ "unchecked", "rawtypes" })
private Object readWithMessageConverters(MethodParameter methodParam, HttpInputMessage inputMessage, Class> paramType)
throws Exception {
MediaType contentType = inputMessage.getHeaders().getContentType();
if (contentType == null) {
StringBuilder builder = new StringBuilder(ClassUtils.getShortName(methodParam.getParameterType()));
String paramName = methodParam.getParameterName();
if (paramName != null) {
builder.append(' ');
builder.append(paramName);
}
throw new HttpMediaTypeNotSupportedException(
"Cannot extract parameter (" + builder.toString() + "): no Content-Type found");
}
List allSupportedMediaTypes = new ArrayList();
if (this.messageConverters != null) {
for (HttpMessageConverter> messageConverter : this.messageConverters) {
allSupportedMediaTypes.addAll(messageConverter.getSupportedMediaTypes());
if (messageConverter.canRead(paramType, contentType)) {
if (logger.isDebugEnabled()) {
logger.debug("Reading [" + paramType.getName() + "] as \"" + contentType
+"\" using [" + messageConverter + "]");
}
return messageConverter.read((Class) paramType, inputMessage);
}
}
}
throw new HttpMediaTypeNotSupportedException(contentType, allSupportedMediaTypes);
}
開發者ID:lamsfoundation,項目名稱:lams,代碼行數:32,
注:本文中的org.springframework.http.converter.HttpMessageConverter.canRead方法示例整理自Github/MSDocs等源碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。
3998

被折叠的 条评论
为什么被折叠?



