java中canread_Java HttpMessageConverter.canRead方法代碼示例

本文整理匯總了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;未經允許,請勿轉載。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值