美文网首页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