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

addConverterFactory(new ToStringConverterFactory())

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

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

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

你可能感兴趣的:(Retrofit 添加返回数据为字符串的转换器)