美文网首页ITBOX
Retrofit 添加返回数据为字符串的转换器

Retrofit 添加返回数据为字符串的转换器

作者: youmu178 | 来源:发表于2016-11-18 11:35 被阅读34次

addConverterFactory(new ToStringConverterFactory())

public static class ToStringConverterFactory extends Converter.Factory {        
    static final MediaType MEDIA_TYPE = MediaType.parse("text/plain");       

    @Override        
    public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) {
         if (String.class.equals(type)) {  
              return new Converter<ResponseBody, String>() {
                    @Override
                    public String convert(ResponseBody value) throws IOException {
                        return value.string();
                    } 
               };
            }
            return null;
        }

        @Override
        public Converter<?, RequestBody> requestBodyConverter(Type type, Annotation[] parameterAnnotations,
                                                              Annotation[] methodAnnotations, Retrofit retrofit) {
            if (String.class.equals(type)) {
                return new Converter<String, RequestBody>() {
                    @Override
                    public RequestBody convert(String value) throws IOException {
                        return RequestBody.create(MEDIA_TYPE, value); 
                   }
                };
            }
            return null;
        }
    }

相关文章

网友评论

    本文标题:Retrofit 添加返回数据为字符串的转换器

    本文链接:https://www.haomeiwen.com/subject/nuwjpttx.html