package com.qtfreet.musicuu.model; import com.alibaba.fastjson.JSON; import com.yolanda.nohttp.Headers; import com.yolanda.nohttp.RequestMethod; import com.yolanda.nohttp.rest.RestRequest; import com.yolanda.nohttp.rest.StringRequest; import java.util.List; /** * Created by qtfreet on 2016/12/21. */ public class JavaBeanRequest<T> extends RestRequest<List<T>> { // 要解析的JavaBean的class。 private Class<T> clazz; public JavaBeanRequest(String url, Class<T> clazz) { this(url, RequestMethod.GET, clazz); } public JavaBeanRequest(String url, RequestMethod requestMethod, Class<T> clazz) { super(url, requestMethod); this.clazz = clazz; } @Override public List<T> parseResponse(Headers responseHeaders, byte[] responseBody) throws Throwable { String response = StringRequest.parseResponseString(responseHeaders, responseBody); // 这里如果数据格式错误,或者解析失败,会在失败的回调方法中返回 ParseError 异常。 return JSON.parseArray(response, clazz); } }