All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.quhaodian.client.RestFulClient Maven / Gradle / Ivy

There is a newer version: 1.03
Show newest version
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 - 2024 Weber Informatics LLC | Privacy Policy