
com.quhaodian.client.RestFulClient Maven / Gradle / Ivy
package com.quhaodian.client;
import com.quhaodian.jsonrpc.annotation.RestFul;
import java.net.URL;
public class RestFulClient {
public static T getService(String url, Class classc) {
T result = null;
HttpJsonRpcClientTransport transport;
try {
RestFul ful = classc.getAnnotation(RestFul.class);
transport = new HttpJsonRpcClientTransport(new URL(url));
JsonRpcInvoker invoker = new JsonRpcInvoker();
String apiname = ful.value();
if (apiname == null || apiname.equals("")) {
apiname = classc.getSimpleName();
result = (T) invoker.get(transport, apiname, classc);
} else {
if (ful.api() == null || ful.api() == void.class) {
apiname = classc.getSimpleName();
result = (T) invoker.get(transport, apiname, classc);
} else {
result = (T) invoker.get(transport, ful.value(), ful.api());
}
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
@SuppressWarnings("unchecked")
public static T getService(String url, Class classc, JsonRpcInvoker invoker, JsonRpcClientTransport jsonRpcClientTransport) {
T result = null;
try {
RestFul ful = classc.getAnnotation(RestFul.class);
String apiname = ful.value();
if (apiname == null) {
apiname = classc.getSimpleName();
result = (T) invoker.get(jsonRpcClientTransport, apiname, classc);
} else {
result = (T) invoker.get(jsonRpcClientTransport, ful.value(), ful.api());
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static T getService(String url, Class classc, JsonRpcInvoker invoker) {
T result = null;
HttpJsonRpcClientTransport transport;
try {
RestFul ful = classc.getAnnotation(RestFul.class);
transport = new HttpJsonRpcClientTransport(new URL(url));
String apiname = ful.value();
if (apiname == null) {
apiname = classc.getSimpleName();
result = (T) invoker.get(transport, apiname, classc);
} else {
result = (T) invoker.get(transport, ful.value(), ful.api());
}
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy