소스 검색

HttpRequestAdapter optimize

MaxKey 2 년 전
부모
커밋
b5a8b061af

+ 2 - 0
maxkey-core/src/main/java/org/maxkey/constants/ContentType.java

@@ -39,6 +39,8 @@ public class ContentType {
     
     public static final String APPLICATION_XML_UTF8 	= "application/xml;charset=UTF-8";
     
+    public static final String APPLICATION_FORM 		= "application/x-www-form-urlencoded";
+    
     public static final String IMAGE_GIF 				= "image/gif";
     
     public static final String IMAGE_JPEG 				= "image/jpeg";

+ 192 - 135
maxkey-core/src/main/java/org/maxkey/web/HttpRequestAdapter.java

@@ -1,5 +1,5 @@
 /*
- * Copyright [2021] [MaxKey of copyright http://www.maxkey.top]
+ * Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
  * 
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -31,13 +31,18 @@ import org.apache.http.NameValuePair;
 import org.apache.http.client.config.RequestConfig;
 import org.apache.http.client.entity.UrlEncodedFormEntity;
 import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
 import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.client.methods.HttpRequestBase;
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 import org.apache.http.message.BasicNameValuePair;
 import org.apache.http.util.EntityUtils;
+import org.maxkey.constants.ContentType;
+import org.maxkey.util.AuthorizationHeaderUtils;
 import org.maxkey.util.JsonUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -47,13 +52,9 @@ import org.springframework.stereotype.Component;
 public class HttpRequestAdapter {
 	private static final Logger _logger = LoggerFactory.getLogger(HttpRequestAdapter.class);
 	 
-    private String mediaType = MediaType.FORM;
+    private String mediaType = ContentType.APPLICATION_FORM;
     
-    public static class MediaType{
-        public static String JSON   =   "JSON";
-        public static String XML    =   "XML";
-        public static String FORM   =   "FORM";
-    }
+    HashMap<String,String> headers = new HashMap<String,String>();
     
     public HttpRequestAdapter(){}
     
@@ -62,71 +63,62 @@ public class HttpRequestAdapter {
     }
     
 	public String post(String url,Map<String, Object> parameterMap) {
-		HashMap<String,String> headers = new HashMap<String,String>();
-		headers.put("Content-Type", "application/x-www-form-urlencoded");
+		setContentType(ContentType.APPLICATION_FORM);
 		return post(url , parameterMap , headers);
 	}
 	
+	public HttpRequestAdapter addHeaderAuthorizationBearer(String token ) {
+		headers.put("Authorization", AuthorizationHeaderUtils.createBearer(token));
+		return this;
+	}
+	
+	public HttpRequestAdapter addHeaderAuthorizationBasic(String username, String password) {
+		headers.put("Authorization", AuthorizationHeaderUtils.createBasic(username,password));
+		return this;
+	}
+	
+	public HttpRequestAdapter setContentType(String contentType) {
+		headers.put("Content-Type", contentType);
+		return this;
+	}
+	
+	public HttpRequestAdapter addHeader(String name , String value ) {
+		headers.put(name, value);
+		return this;
+	}
+	
     public String post(String url,Map<String, Object> parameterMap,HashMap<String,String> headers) {
         // 创建httpClient实例
         CloseableHttpClient httpClient = HttpClients.createDefault();
         CloseableHttpResponse httpResponse = null;
         // 创建httpPost远程连接实例
-        HttpPost httpPost = new HttpPost(url);
+        HttpPost httpMethod = new HttpPost(url);
         // 配置请求参数实例
-        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
-                .setConnectionRequestTimeout(35000)// 设置连接请求超时时间
-                .setSocketTimeout(60000)// 设置读取数据连接超时时间
-                .build();
-        // 为httpPost实例设置配置
-        httpPost.setConfig(requestConfig);
+        setRequestConfig(httpMethod);
         // 设置请求头
-        if (null != headers && headers.size() > 0) {
-        	  Set<Entry<String, String>> entrySet = headers.entrySet();
-              // 循环遍历,获取迭代器
-              Iterator<Entry<String, String>> iterator = entrySet.iterator();
-              while (iterator.hasNext()) {
-                  Entry<String, String> mapEntry = iterator.next();
-                  _logger.trace("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
-                  httpPost.addHeader(mapEntry.getKey(), mapEntry.getValue());
-              }
-        }
+        buildHeader(httpMethod,headers);  
         
         // 封装post请求参数
         if (null != parameterMap && parameterMap.size() > 0) {
-            if(mediaType.equals(MediaType.FORM)) {
-                List<NameValuePair> nvps = new ArrayList<NameValuePair>();
-                // 通过map集成entrySet方法获取entity
-                Set<Entry<String, Object>> entrySet = parameterMap.entrySet();
-                // 循环遍历,获取迭代器
-                Iterator<Entry<String, Object>> iterator = entrySet.iterator();
-                while (iterator.hasNext()) {
-                    Entry<String, Object> mapEntry = iterator.next();
-                    _logger.debug("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
-                    nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString()));
-                }
-    
+            if(mediaType.equals(ContentType.APPLICATION_FORM)) {
                 // 为httpPost设置封装好的请求参数
                 try {
-                    httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
+                	httpMethod.setEntity(buildFormEntity(parameterMap));
                 } catch (UnsupportedEncodingException e) {
                     e.printStackTrace();
                 }
-            }else if(mediaType.equals(MediaType.JSON)) {
+            }else if(mediaType.equals(ContentType.APPLICATION_JSON)) {
                 String jsonString = JsonUtils.gson2Json(parameterMap);
                 StringEntity stringEntity =new StringEntity(jsonString, "UTF-8");
-                stringEntity.setContentType("text/json");
-                httpPost.setEntity(stringEntity);
-
-                
+                stringEntity.setContentType(ContentType.APPLICATION_JSON);
+                httpMethod.setEntity(stringEntity);
             }
-            _logger.debug("Post Message \n{} ", httpPost.getEntity().toString());
+            _logger.debug("Post Message \n{} ", httpMethod.getEntity().toString());
         }
         
-        
         try {
             // httpClient对象执行post请求,并返回响应参数对象
-            httpResponse = httpClient.execute(httpPost);
+            httpResponse = httpClient.execute(httpMethod);
             // 从响应对象中获取响应内容
             HttpEntity entity = httpResponse.getEntity();
             String content = EntityUtils.toString(entity);
@@ -138,59 +130,70 @@ public class HttpRequestAdapter {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            // 关闭资源
-            if (null != httpResponse) {
-                try {
-                    httpResponse.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-            if (null != httpClient) {
-                try {
-                    httpClient.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
+        	close(httpClient,httpResponse);// 关闭资源
         }
         return null;
     }
- 
-    public String postJson(String url,String jsonString,HashMap<String,String> headers) {
+    
+    
+    public String post(String url,Object data) {
         // 创建httpClient实例
         CloseableHttpClient httpClient = HttpClients.createDefault();
         CloseableHttpResponse httpResponse = null;
         // 创建httpPost远程连接实例
-        HttpPost httpPost = new HttpPost(url);
+        HttpPost httpMethod = new HttpPost(url);
         // 配置请求参数实例
-        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
-                .setConnectionRequestTimeout(35000)// 设置连接请求超时时间
-                .setSocketTimeout(60000)// 设置读取数据连接超时时间
-                .build();
-        // 为httpPost实例设置配置
-        httpPost.setConfig(requestConfig);
+        setRequestConfig(httpMethod);
         // 设置请求头
-        if (null != headers && headers.size() > 0) {
-        	  Set<Entry<String, String>> entrySet = headers.entrySet();
-              // 循环遍历,获取迭代器
-              Iterator<Entry<String, String>> iterator = entrySet.iterator();
-              while (iterator.hasNext()) {
-                  Entry<String, String> mapEntry = iterator.next();
-                  _logger.trace("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
-                  httpPost.addHeader(mapEntry.getKey(), mapEntry.getValue());
-              }
-        }
+        buildHeader(httpMethod,headers);  
         
-        // 封装post请求参数
+        // 封装put请求参数
+        String jsonString = JsonUtils.gson2Json(data);
         StringEntity stringEntity =new StringEntity(jsonString, "UTF-8");
-        stringEntity.setContentType("application/json");
-        httpPost.setEntity(stringEntity);
+        stringEntity.setContentType(ContentType.APPLICATION_JSON);
+        httpMethod.setEntity(stringEntity);
+        _logger.debug("Post Message \n{} ", httpMethod.getEntity().toString());
+        
+        try {
+            // httpClient对象执行put请求,并返回响应参数对象
+            httpResponse = httpClient.execute(httpMethod);
+            // 从响应对象中获取响应内容
+            HttpEntity entity = httpResponse.getEntity();
+            String content = EntityUtils.toString(entity);
+            _logger.debug("Http Response StatusCode {} , Content {}",
+                    httpResponse.getStatusLine().getStatusCode(),
+                    content
+            );
+            return content;
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+        	close(httpClient,httpResponse);// 关闭资源
+        }
+        return null;
+    }
+    
+    public String put(String url,Object data) {
+        // 创建httpClient实例
+        CloseableHttpClient httpClient = HttpClients.createDefault();
+        CloseableHttpResponse httpResponse = null;
+        // 创建httpPost远程连接实例
+        HttpPut httpMethod = new HttpPut(url);
+        // 配置请求参数实例
+        setRequestConfig(httpMethod);
+        // 设置请求头
+        buildHeader(httpMethod,headers);  
         
+        // 封装put请求参数
+        String jsonString = JsonUtils.gson2Json(data);
+        StringEntity stringEntity =new StringEntity(jsonString, "UTF-8");
+        stringEntity.setContentType(ContentType.APPLICATION_JSON);
+        httpMethod.setEntity(stringEntity);
+        _logger.debug("Post Message \n{} ", httpMethod.getEntity().toString());
         
         try {
-            // httpClient对象执行post请求,并返回响应参数对象
-            httpResponse = httpClient.execute(httpPost);
+            // httpClient对象执行put请求,并返回响应参数对象
+            httpResponse = httpClient.execute(httpMethod);
             // 从响应对象中获取响应内容
             HttpEntity entity = httpResponse.getEntity();
             String content = EntityUtils.toString(entity);
@@ -202,28 +205,14 @@ public class HttpRequestAdapter {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            // 关闭资源
-            if (null != httpResponse) {
-                try {
-                    httpResponse.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-            if (null != httpClient) {
-                try {
-                    httpClient.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
+        	close(httpClient,httpResponse);// 关闭资源
         }
         return null;
     }
     
+    
 	public String get(String url) {
-		HashMap<String,String> headers = new HashMap<String,String>();
-		headers.put("Content-Type", "application/x-www-form-urlencoded");
+		headers.put("Content-Type", ContentType.APPLICATION_FORM);
 		return get(url ,  headers);
 	}
 	
@@ -232,29 +221,45 @@ public class HttpRequestAdapter {
         CloseableHttpClient httpClient = HttpClients.createDefault();
         CloseableHttpResponse httpResponse = null;
         // 创建httpPost远程连接实例
-        HttpGet httpGet = new HttpGet(url);
+        HttpGet httpMethod = new HttpGet(url);
         // 配置请求参数实例
-        RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
-                .setConnectionRequestTimeout(35000)// 设置连接请求超时时间
-                .setSocketTimeout(60000)// 设置读取数据连接超时时间
-                .build();
-        // 为httpGet实例设置配置
-        httpGet.setConfig(requestConfig);
+        setRequestConfig(httpMethod);
         // 设置请求头
-        if (null != headers && headers.size() > 0) {
-        	  Set<Entry<String, String>> entrySet = headers.entrySet();
-              // 循环遍历,获取迭代器
-              Iterator<Entry<String, String>> iterator = entrySet.iterator();
-              while (iterator.hasNext()) {
-                  Entry<String, String> mapEntry = iterator.next();
-                  _logger.trace("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
-                  httpGet.addHeader(mapEntry.getKey(), mapEntry.getValue());
-              }
-        }        
+        buildHeader(httpMethod,headers);     
+        
+        try {
+            // httpClient对象执行get请求,并返回响应参数对象
+            httpResponse = httpClient.execute(httpMethod);
+            // 从响应对象中获取响应内容
+            HttpEntity entity = httpResponse.getEntity();
+            String content = EntityUtils.toString(entity);
+            _logger.debug("Http Response StatusCode {} , Content {}",
+                    httpResponse.getStatusLine().getStatusCode(),
+                    content
+            );
+            return content;
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+        	close(httpClient,httpResponse);// 关闭资源
+        }
+        return null;
+    }
+    
+    public String delete(String url) {
+    	 // 创建httpClient实例
+        CloseableHttpClient httpClient = HttpClients.createDefault();
+        CloseableHttpResponse httpResponse = null;
+        // 创建HttpDelete远程连接实例
+        HttpDelete httpMethod = new HttpDelete(url);
+        // 配置请求参数实例
+        setRequestConfig(httpMethod);
+        // 设置请求头
+        buildHeader(httpMethod,headers);  
         
         try {
             // httpClient对象执行post请求,并返回响应参数对象
-            httpResponse = httpClient.execute(httpGet);
+            httpResponse = httpClient.execute(httpMethod);
             // 从响应对象中获取响应内容
             HttpEntity entity = httpResponse.getEntity();
             String content = EntityUtils.toString(entity);
@@ -266,23 +271,75 @@ public class HttpRequestAdapter {
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
-            // 关闭资源
-            if (null != httpResponse) {
-                try {
-                    httpResponse.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
+        	close(httpClient,httpResponse);// 关闭资源
+        }
+        return null;
+	}
+    
+    /**
+     * @param HttpRequest
+     * @param headers
+     */
+    void buildHeader(HttpRequestBase  httpRequest,HashMap<String,String> headers) {
+    	// 设置请求头
+        if (null != headers && headers.size() > 0) {
+        	  Set<Entry<String, String>> entrySet = headers.entrySet();
+              // 循环遍历,获取迭代器
+              Iterator<Entry<String, String>> iterator = entrySet.iterator();
+              while (iterator.hasNext()) {
+                  Entry<String, String> mapEntry = iterator.next();
+                  _logger.trace("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
+                  httpRequest.addHeader(mapEntry.getKey(), mapEntry.getValue());
+              }
+        }   
+    }
+    
+    UrlEncodedFormEntity buildFormEntity(Map<String, Object> parameterMap) 
+    		throws UnsupportedEncodingException {
+    	 List<NameValuePair> nvps = new ArrayList<NameValuePair>();
+         // 通过map集成entrySet方法获取entity
+         Set<Entry<String, Object>> entrySet = parameterMap.entrySet();
+         // 循环遍历,获取迭代器
+         Iterator<Entry<String, Object>> iterator = entrySet.iterator();
+         while (iterator.hasNext()) {
+             Entry<String, Object> mapEntry = iterator.next();
+             _logger.debug("Name " + mapEntry.getKey() + " , Value " +mapEntry.getValue());
+             nvps.add(new BasicNameValuePair(mapEntry.getKey(), mapEntry.getValue().toString()));
+         }
+
+         // 为httpPost设置封装好的请求参数
+         return new UrlEncodedFormEntity(nvps, "UTF-8");
+    }
+    
+    void setRequestConfig(HttpRequestBase  httpMethod){
+    	RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(35000)// 设置连接主机服务超时时间
+                .setConnectionRequestTimeout(35000)// 设置连接请求超时时间
+                .setSocketTimeout(60000)// 设置读取数据连接超时时间
+                .build();
+        // 为httpMethod实例设置配置
+        httpMethod.setConfig(requestConfig);
+    }
+    
+    /**
+     * 关闭资源
+     * @param httpClient
+     * @param httpResponse
+     */
+    void close(CloseableHttpClient httpClient,CloseableHttpResponse httpResponse) {
+        if (null != httpResponse) {
+            try {
+                httpResponse.close();
+            } catch (IOException e) {
+                e.printStackTrace();
             }
-            if (null != httpClient) {
-                try {
-                    httpClient.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
+        }
+        if (null != httpClient) {
+            try {
+                httpClient.close();
+            } catch (IOException e) {
+                e.printStackTrace();
             }
         }
-        return null;
     }
     
 }

+ 13 - 30
maxkey-persistence/src/main/java/org/maxkey/provision/thread/ProvisioningRunner.java

@@ -2,7 +2,6 @@ package org.maxkey.provision.thread;
 
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.HashMap;
 import java.util.List;
 
 import org.apache.mybatis.jpa.query.Query;
@@ -16,7 +15,6 @@ import org.maxkey.persistence.service.ConnectorsService;
 import org.maxkey.provision.ProvisionAction;
 import org.maxkey.provision.ProvisionMessage;
 import org.maxkey.provision.ProvisionTopic;
-import org.maxkey.util.AuthorizationHeaderUtils;
 import org.maxkey.util.DateUtils;
 import org.maxkey.util.JsonUtils;
 import org.maxkey.util.ObjectTransformer;
@@ -147,46 +145,31 @@ public class ProvisioningRunner {
 	String provisionUser(UserInfo user,String baseUrl,String actionType,Connectors connector){
 		baseUrl = baseUrl + "Users/" + getActionType(actionType);
 		_logger.debug("URL {} ", baseUrl);
-		HashMap<String,String> authorizationMap = AuthorizationHeaderUtils.authorization(
-				AuthorizationHeaderUtils.createBasic(
-						connector.getPrincipal(), 
+		return new HttpRequestAdapter()
+				.addHeaderAuthorizationBasic(
+						connector.getPrincipal(),
 						PasswordReciprocal.getInstance().decoder(connector.getCredentials()))
-			);
-		
-		return new HttpRequestAdapter().postJson(	baseUrl, 
-											JsonUtils.gson2Json(user),
-											authorizationMap
-											);
+				.post(baseUrl, user);
 	}
 	
-	String provisionOrganization(Organizations organizations,String baseUrl,String actionType,Connectors connector){
+	String provisionOrganization(Organizations organization,String baseUrl,String actionType,Connectors connector){
 		baseUrl = baseUrl + "Organizations/"+ getActionType(actionType);
 		_logger.debug("URL {} ", baseUrl);
-		HashMap<String,String> authorizationMap = AuthorizationHeaderUtils.authorization(
-				AuthorizationHeaderUtils.createBasic(
-						connector.getPrincipal(), 
+		return new HttpRequestAdapter()
+				.addHeaderAuthorizationBasic(
+						connector.getPrincipal(),
 						PasswordReciprocal.getInstance().decoder(connector.getCredentials()))
-			);
-		
-		return new HttpRequestAdapter().postJson(	baseUrl, 
-											JsonUtils.gson2Json(organizations),
-											authorizationMap
-											);
+				.post(baseUrl, organization);
 	}
 	
 	String provisionChangePassword(ChangePassword changePassword,String baseUrl,String actionType,Connectors connector){
 		baseUrl = baseUrl + "Users/changePassword";
 		_logger.debug("URL {} ", baseUrl);
-		HashMap<String,String> authorizationMap = AuthorizationHeaderUtils.authorization(
-				AuthorizationHeaderUtils.createBasic(
-						connector.getPrincipal(), 
+		return new HttpRequestAdapter()
+				.addHeaderAuthorizationBasic(
+						connector.getPrincipal(),
 						PasswordReciprocal.getInstance().decoder(connector.getCredentials()))
-			);
-		
-		return new HttpRequestAdapter().postJson(	baseUrl, 
-											JsonUtils.gson2Json(changePassword),
-											authorizationMap
-											);
+				.post(baseUrl, changePassword);
 	}
 	
     public class ProvisionMessageRowMapper implements RowMapper<ProvisionMessage> {

+ 1 - 4
maxkey-protocols/maxkey-protocol-jwt/src/main/java/org/maxkey/authz/token/endpoint/JwtAuthorizeEndpoint.java

@@ -21,7 +21,6 @@
 package org.maxkey.authz.token.endpoint;
 
 import java.lang.reflect.InvocationTargetException;
-import javax.servlet.http.Cookie;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -42,9 +41,7 @@ import org.maxkey.entity.apps.Apps;
 import org.maxkey.entity.apps.AppsJwtDetails;
 import org.maxkey.persistence.service.AppsJwtDetailsService;
 import org.maxkey.util.Instance;
-import org.maxkey.web.HttpRequestAdapter;
 import org.maxkey.web.WebConstants;
-import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -138,7 +135,7 @@ public class JwtAuthorizeEndpoint  extends AuthorizeBaseEndpoint{
 			 
 			JWKSetKeyStore jwkSetKeyStore = new JWKSetKeyStore("{\"keys\": [" + jwkSetString + "]}");
 			if(StringUtils.isNotBlank(mediaType) 
-					&& mediaType.equalsIgnoreCase(HttpRequestAdapter.MediaType.XML)) {
+					&& mediaType.equalsIgnoreCase("xml")) {
 				response.setContentType(ContentType.APPLICATION_XML_UTF8);
 			}else {
 				response.setContentType(ContentType.APPLICATION_JSON_UTF8);

+ 1 - 2
maxkey-protocols/maxkey-protocol-oauth-2.0/src/main/java/org/maxkey/authz/oauth2/provider/endpoint/AuthorizationEndpoint.java

@@ -53,7 +53,6 @@ import org.maxkey.entity.Message;
 import org.maxkey.entity.UserInfo;
 import org.maxkey.entity.apps.Apps;
 import org.maxkey.entity.apps.oauth2.provider.ClientDetails;
-import org.maxkey.web.HttpRequestAdapter;
 import org.maxkey.web.WebConstants;
 import org.maxkey.web.WebContext;
 import org.slf4j.Logger;
@@ -324,7 +323,7 @@ public class AuthorizationEndpoint extends AbstractEndpoint {
 			JWKSetKeyStore jwkSetKeyStore = new JWKSetKeyStore("{\"keys\": [" + jwkSetString + "]}");
 			
 			if(StringUtils.hasText(mediaType) 
-					&& mediaType.equalsIgnoreCase(HttpRequestAdapter.MediaType.XML)) {
+					&& mediaType.equalsIgnoreCase("xml")) {
 				response.setContentType(ContentType.APPLICATION_XML_UTF8);
 			}else {
 				response.setContentType(ContentType.APPLICATION_JSON_UTF8);

+ 2 - 2
maxkey-synchronizers/maxkey-synchronizer-feishu/src/main/java/org/maxkey/synchronizer/feishu/FeishuAccessTokenService.java

@@ -20,10 +20,10 @@ package org.maxkey.synchronizer.feishu;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.maxkey.constants.ContentType;
 import org.maxkey.synchronizer.entity.AccessToken;
 import org.maxkey.util.JsonUtils;
 import org.maxkey.web.HttpRequestAdapter;
-import org.maxkey.web.HttpRequestAdapter.MediaType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -48,7 +48,7 @@ public class FeishuAccessTokenService {
 
 
 	public String requestToken() {
-		HttpRequestAdapter request =new HttpRequestAdapter(MediaType.JSON);
+		HttpRequestAdapter request =new HttpRequestAdapter(ContentType.APPLICATION_JSON);
 		Map<String, Object> parameterMap = new HashMap<String, Object>();
 		parameterMap.put("app_id", appId);
 		parameterMap.put("app_secret", appSecret);