add CommonRequest, FileRequest, GsonRequest, TimiRequest

This commit is contained in:
Timi
2025-07-15 16:23:34 +08:00
parent 43919851ed
commit 77c32fb52f
5 changed files with 203 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
package com.imyeyu.network;
import com.google.gson.reflect.TypeToken;
import com.imyeyu.java.bean.timi.TimiResponse;
import org.apache.hc.client5.http.fluent.Request;
import java.io.IOException;
/**
* @author 夜雨
* @since 2025-07-15 14:34
*/
public class TimiRequest<T> extends GsonRequest<T> {
protected TimiRequest(Request request) {
super(request);
}
public static <T> TimiRequest<T> wrap(Request request) {
return new TimiRequest<>(request);
}
public static <T> TimiRequest<T> get(String url) {
return new TimiRequest<>(Request.get(url));
}
public static <T> TimiRequest<T> post(String url) {
return new TimiRequest<>(Request.post(url));
}
public T result() throws IOException {
TimiResponse<T> resp = getGson().fromJson(request.execute().returnContent().asString(), new TypeToken<TimiResponse<T>>() {}.getType());
if (resp.isFail()) {
throw resp.toException();
}
return resp.getData();
}
}