提交 e653fd05 authored 作者: 黄夏豪's avatar 黄夏豪

refactor(base): 修复了代码中不贵珍的部分

上级 05393b19
......@@ -24,13 +24,7 @@
<version>1.2.39</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<!-- httpClient -->
<dependency>
......@@ -91,13 +85,6 @@
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -146,13 +133,7 @@
<version>1.2.47</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.relevantcodes</groupId>
......
package org.matrix.entity.httpRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author huangxiahao
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RequestBody {
// @ApiModelProperty("键")
@ApiModelProperty("键")
private String name;
// @ApiModelProperty("参数类型,文件或者文本")
@ApiModelProperty("参数类型,文件或者文本")
private MultiPartRequestBodyType type;
// @ApiModelProperty("值")
@ApiModelProperty("值")
private String value;
}
......@@ -24,7 +24,6 @@ import org.springframework.http.HttpMethod;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
......@@ -40,9 +39,6 @@ import java.util.regex.Pattern;
* HttpClient调用封装
*
* @author HuangXiahao
* @version V1.0
* @class AuthenticationUtils
* @packageName com.example.personnelmanager.common.utils
**/
public class HttpClientUtil {
......@@ -65,34 +61,28 @@ public class HttpClientUtil {
/**
* 初始化请求内数据并补全动态变量
* @param httpRequestDetail
*/
public void execute(HttpRequestDetail httpRequestDetail){
public void completeHttpRequestDetail(HttpRequestDetail httpRequestDetail){
for (RequestHeader header : httpRequestDetail.getHeaders()) {
//获取动态变量,并将动态变量替换进去
//todo
// header.setValue();
//todo 李迪凡 将header中的key和value里的 动态变量补全
}
for (RequestBody requestBody : httpRequestDetail.getRequestBodies()) {
//todo
//todo 李迪凡 将requestBody中的key和value里的 动态变量补全
}
if (StringUtils.isEmpty(httpRequestDetail.getStringValue())){
//todo
//todo 李迪凡 将httpRequestDetail的stringValue 动态变量补全
}
//todo
// httpRequestDetail.setUrl();
//todo 李迪凡 将httpRequestDetail的url 动态变量补全
}
/**
* 发起Http请求
*
* @param httpRequestDetail
* @return
*/
private HttpResponseDetail sendHttpRequest(HttpRequestDetail httpRequestDetail) {
completeHttpRequestDetail(httpRequestDetail);
CloseableHttpResponse response = null;
Date startTime = new Date();
String url = initUrlString(httpRequestDetail);
......@@ -125,11 +115,9 @@ public class HttpClientUtil {
/**
* 初始化请求HttpEntity
*
* @param httpRequestDetail
* @return
*/
public HttpEntity initHttpEntity(HttpRequestDetail httpRequestDetail) {
HttpEntity httpEntity = null;
HttpEntity httpEntity ;
switch (httpRequestDetail.getRequestType()) {
case FORM_DATA:
httpEntity = getMultipartEntity(httpRequestDetail.getRequestBodies());
......@@ -167,6 +155,7 @@ public class HttpClientUtil {
case FILE:
multipartEntityBuilder.addBinaryBody(requestBody.getName(), getFileByPath(requestBody.getValue()));
break;
default:
}
}
return multipartEntityBuilder.build();
......@@ -182,7 +171,7 @@ public class HttpClientUtil {
public StringEntity getEmptyStringEntity() {
return new StringEntity(new String(), StandardCharsets.UTF_8);
return new StringEntity("", StandardCharsets.UTF_8);
}
public StringEntity getStringEntity(String value) {
......@@ -199,7 +188,7 @@ public class HttpClientUtil {
File file = getFileByPath(path);
byte[] bytesArray = new byte[(int) file.length()];
FileInputStream fis = new FileInputStream(file);
fis.read(bytesArray); // read file into bytes[]
fis.read(bytesArray);
fis.close();
return new ByteArrayEntity(bytesArray);
} catch (IOException ioException) {
......@@ -215,16 +204,16 @@ public class HttpClientUtil {
try {
switch (httpRequestDetail.getRequestType()) {
case REST:
String regex = "(?<=\\{)(.*?)(?=\\})";
String regex = "(?<=\\{)(.*?)(?=})";
Pattern pattern = Pattern.compile(regex);
Matcher mat = pattern.matcher(url);
while (mat.find()) {
url = url.replaceAll("\\{" + mat.group() + "\\}", "1");
url = url.replaceAll("\\{" + mat.group() + "}", "1");
}
break;
case QUERY:
if (httpRequestDetail.getMethod().equals(HttpMethod.GET)) {
URIBuilder uriBuilder = null;
URIBuilder uriBuilder ;
uriBuilder = new URIBuilder(url);
for (RequestBody requestBody : httpRequestDetail.getRequestBodies()) {
switch (requestBody.getType()) {
......@@ -233,11 +222,13 @@ public class HttpClientUtil {
break;
case FILE:
throw new NullPointerException("QUERY请求不能传入文件流");
default:
}
}
url = uriBuilder.build().toString();
}
break;
default:
}
} catch (URISyntaxException e) {
e.printStackTrace();
......@@ -248,9 +239,6 @@ public class HttpClientUtil {
/**
* 初始化HttpRequestBase
*
* @param url
* @param httpMethod
* @return
*/
public HttpRequestBase initHttpRequestBase(String url, HttpMethod httpMethod) {
HttpRequestBase requestBase;
......@@ -276,28 +264,9 @@ public class HttpClientUtil {
return requestBase;
}
public static void main(String[] args) throws MalformedURLException, URISyntaxException {
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("method","POST");
// Vo vo = JSON.parseObject(jsonObject.toJSONString(), Vo.class);
// System.out.println("1");
// String regex = "\\{([^\\}]+)\\}";
HttpRequestDetail httpRequestDetail = new HttpRequestDetail();
httpRequestDetail.getRequestBodies().add(new RequestBody("name", MultiPartRequestBodyType.TEXT, "张三"));
httpRequestDetail.getRequestBodies().add(new RequestBody("text", MultiPartRequestBodyType.TEXT, "a1"));
httpRequestDetail.setMethod(HttpMethod.GET);
httpRequestDetail.setUrl("www.baidu.com");
httpRequestDetail.setRequestType(HttpRequestType.QUERY);
}
/**
* 关闭response(注意:用完记得关,不然会一直占用系统资源)
*
* @param response
*/
public void closeResponse(CloseableHttpResponse response) {
if (response != null) {
......@@ -315,7 +284,6 @@ public class HttpClientUtil {
/**
* 关闭requestBase(注意:用完记得关,不然会一直占用系统资源)
*
* @param requestBase
*/
public void closeRequest(HttpRequestBase requestBase) {
requestBase.abort();
......
......@@ -12,6 +12,11 @@
<artifactId>kt-kit</artifactId>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.22</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -6,6 +6,7 @@ import lombok.Data;
* Hello world!
*
*/
@Data
public class App
{
public static void main( String[] args )
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论