com.qbit.service.QbitRequestService Maven / Gradle / Ivy
package com.qbit.service;
import com.qbit.httpclient.QbitHttpClientBuilder;
import com.qbit.service.dto.Output;
import com.qbit.service.impl.QbitRequestServiceImpl;
import org.apache.http.impl.client.CloseableHttpClient;
import java.util.Map;
/**
* @author klover
* description QbitRequestService
* date 2022/10/14 12:18
*/
public interface QbitRequestService {
/**
* Service构造器
*/
class Builder {
private String accessToken;
/**
* 设置请求配置,以该配置构造默认的httpClient,若未调用httpClient()方法,则必须调用该方法
*
* @param accessToken access_token
* @return Builder
*/
public Builder config(String accessToken) {
this.accessToken = accessToken;
return this;
}
/**
* 构造服务
*
* @return QbitService
*/
public QbitRequestService build() {
return new QbitRequestServiceImpl(accessToken);
}
}
/**
* post 请求
*
* @param url url
* @param params 参数
* @return String
*/
Output postRequest(String url, Map params);
/**
* put 请求
*
* @param url url
* @param params 参数
* @return String
*/
Output putRequest(String url, Map params);
/**
* delete 请求
*
* @param url url
* @param params 参数
* @return String
*/
Output deleteRequest(String url, Map params);
/**
* get 请求
*
* @param url url
* @return String
*/
Output getRequest(String url);
/**
* get 请求
*
* @param url url
* @param query 参数
* @return String
*/
Output getRequest(String url, Map query);
}