diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/AuthPageType.java b/pay-java-common/src/main/java/com/egzosn/pay/common/bean/AuthPageType.java deleted file mode 100644 index 1d6c856..0000000 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/bean/AuthPageType.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.egzosn.pay.common.bean; - -/** - * 授权页面的授权类型 - * @author Actinia - * @email hayesfu@qq.com - * @date 2018/1/18 - */ -public enum AuthPageType { - //注册,登录 - registration,login; -} diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java index efae468..6d42f55 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/ClientHttpRequest.java @@ -154,9 +154,18 @@ public class ClientHttpRequest extends HttpEntityEnclosingRequestBase impleme if (null == request){ return this; } - if (request instanceof HttpStringEntity){ + if (request instanceof HttpHeader){ + HttpHeader entity = (HttpHeader)request; + if (null != entity.getHeaders() ){ + for (Header header : entity.getHeaders()){ + addHeader(header); + } + } + }else if (request instanceof HttpStringEntity){ HttpStringEntity entity = (HttpStringEntity)request; - setEntity(entity); + if (!entity.isEmpty()){ + setEntity(entity); + } if (null != entity.getHeaders() ){ for (Header header : entity.getHeaders()){ addHeader(header); diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpHeader.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpHeader.java new file mode 100644 index 0000000..18c03f7 --- /dev/null +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpHeader.java @@ -0,0 +1,91 @@ +package com.egzosn.pay.common.http; + +import org.apache.http.Header; +import org.apache.http.entity.ContentType; +import org.apache.http.entity.StringEntity; +import org.apache.http.message.BasicHeader; + +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; +import java.nio.charset.UnsupportedCharsetException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +import static com.egzosn.pay.common.http.UriVariables.getMapToParameters; + +/** + * 请求头 + * + * @author egan + *
+*               email egzosn@gmail.com
+*               date 2018/01/30
+*           
+ */ +public class HttpHeader{ + /** + * 请求头 + */ + private List
headers; + + public HttpHeader() { + } + + public HttpHeader(List
headers) { + this.headers = headers; + } + + /** + * 请求头 + * + * @param header 请求头 + */ + public HttpHeader(Header header) { + addHeader(header); + } + + /** + * 获取请求头集 + * + * @return 请求头集 + */ + public List
getHeaders() { + return headers; + } + + /** + * 添加请求头 + * + * @param header 请求头 + */ + public void addHeader(Header header) { + if (null == this.headers) { + this.headers = new ArrayList<>(); + } + this.headers.add(header); + } + + /** + * 设置请求头集 + * + * @param headers 请求头集 + */ + public void setHeaders(List
headers) { + this.headers = headers; + } + + /** + * 设置请求头集 + * + * @param headers 请求头集 + */ + public void setHeaders(Map headers) { + for (String key : headers.keySet()) { + addHeader(new BasicHeader(key, headers.get(key))); + } + } + + +} diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java index 8f18a77..b005495 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpRequestTemplate.java @@ -175,19 +175,18 @@ public class HttpRequestTemplate { } - - - /** * get 请求 - * @param uri 请求地址 + * + * @param uri 请求地址 * @param responseType 响应类型 * @param uriVariables 用于匹配表达式 - * @param 响应类型 - * @return 类型对象 + * @param 响应类型 * + * @return 类型对象 + *

* - * getForObject("http://egan.in/pay/{id}/f/{type}", String.class, "1", "APP") + * getForObject("http://egan.in/pay/{id}/f/{type}", String.class, "1", "APP") * */ public T getForObject(String uri, Class responseType, Object... uriVariables){ @@ -218,6 +217,48 @@ public class HttpRequestTemplate { } + /** + * get 请求 + * @param uri 请求地址 + * @param header 请求头 + * @param responseType 响应类型 + * @param uriVariables 用于匹配表达式 + * @param 响应类型 + * @return 类型对象 + * + * + * getForObject("http://egan.in/pay/{id}/f/{type}", String.class, "1", "APP") + * + */ + public T getForObject(String uri, HttpHeader header,Class responseType, Object... uriVariables){ + + return doExecute(URI.create(UriVariables.getUri(uri, uriVariables)), header, responseType, MethodType.GET); + } + + /** + * get 请求 + * + * @param uri 请求地址 + * @param header 请求头 + * @param responseType 响应类型 + * @param uriVariables 用于匹配表达式 + * @param 响应类型 + * @return 类型对象 + * + * Map<String, String> uriVariables = new HashMap<String, String>();
+ * + * uriVariables.put("id", "1");
+ * + * uriVariables.put("type", "APP");
+ * + * getForObject("http://egan.in/pay/{id}/f/{type}", String.class, uriVariables)
+ *
+ */ + public T getForObject(String uri, HttpHeader header, Class responseType, Map uriVariables){ + return doExecute(URI.create(UriVariables.getUri(uri, uriVariables)), header, responseType, MethodType.GET); + } + + /** * http 请求执行 * @param uri 地址 diff --git a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpStringEntity.java b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpStringEntity.java index ef5fd67..cc308fc 100644 --- a/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpStringEntity.java +++ b/pay-java-common/src/main/java/com/egzosn/pay/common/http/HttpStringEntity.java @@ -26,6 +26,33 @@ public class HttpStringEntity extends StringEntity { * 请求头 */ private List

headers; + /** + * 是否为空的请求实体 + */ + private boolean isEmpty = false; + + + public boolean isEmpty() { + return isEmpty; + } + + public void setEmpty(boolean empty) { + isEmpty = empty; + } + + + public void requestIsEmpty(Map request) { + if (null == request || request.isEmpty()){ + this.isEmpty = true; + } + } + public void requestIsEmpty(String request) { + if (null == request || request.isEmpty()){ + this.isEmpty = true; + } + + } + /** * 构造器 @@ -37,6 +64,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request, Header... headers) throws UnsupportedEncodingException { this(getMapToParameters(request), headers); + requestIsEmpty(request); } @@ -50,6 +78,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request, Map headers) throws UnsupportedEncodingException { this(getMapToParameters(request), headers); + requestIsEmpty(request); } @@ -61,6 +90,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request, ContentType contentType) { super(getMapToParameters(request), contentType); + requestIsEmpty(request); } /** @@ -71,6 +101,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request, String charset) { super(getMapToParameters(request), charset); + requestIsEmpty(request); } /** @@ -81,6 +112,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request, Charset charset) { super(getMapToParameters(request), charset); + requestIsEmpty(request); } /** @@ -92,6 +124,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(Map request) throws UnsupportedEncodingException { super(getMapToParameters(request)); + requestIsEmpty(request); } /** @@ -104,6 +137,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(String request, ContentType contentType) throws UnsupportedCharsetException { super(request, contentType); + requestIsEmpty(request); } /** @@ -116,6 +150,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(String request, String charset) throws UnsupportedCharsetException { super(request, charset); + requestIsEmpty(request); } /** @@ -126,6 +161,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(String request, Charset charset) { super(request, charset); + requestIsEmpty(request); } /** @@ -138,6 +174,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(String request, Header... headers) throws UnsupportedEncodingException { super(request); + requestIsEmpty(request); if (null == headers) { this.headers = Arrays.asList(headers); } @@ -153,6 +190,7 @@ public class HttpStringEntity extends StringEntity { */ public HttpStringEntity(String request, Map headers) throws UnsupportedEncodingException { super(request); + requestIsEmpty(request); this.headers = new ArrayList<>(); for (String key : headers.keySet()) { this.headers.add(new BasicHeader(key, headers.get(key)));