<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 這里描述服務的消費方,如何接入本平臺的微服務接口; 這里將提供一個簡單的例子,來說明如何編寫接入代碼; 除了常規邏輯編程之外,考慮到異構系統的特點,我們給出了一個客戶端編程的編程規范,建議客戶端編程遵循; >[danger] > 1、接口服務自身的設計與開發是基于BASE理論。因此,也強烈建議代碼編寫者遵循該理論;程序開發者必需考慮接口服務器因機房網絡故障、域名解析故障、例行檢修、程序升級、依賴服務中斷等因素導致當前服務不可用。因此,業務邏輯的編寫必須嚴格的核對響應碼,并且必須編寫消費接口服務的異常分支邏輯; > 2、只有responseCode為1,才說明您的api執行成功,其他的任何數字都是失敗的,只是失敗的原因不同; ## 二、例程 為了方便客戶端編程,這里提供了一個完整的客戶端調用api示范,基于java代碼編寫,您可以直接復制過去,修改參數運行; 簽名算法: ``` private static String getParamStringByMap(Map<String, String> paramMap) { TreeMap map = new TreeMap(); for (Map.Entry<String, String> me : paramMap.entrySet()) { if (!me.getKey().equalsIgnoreCase("sign")) { map.put(me.getKey(), me.getValue()); } } return getParamStringByMap(map); } private static String getParamStringByMap(TreeMap<String, String> paramMap) { StringBuilder paramString = new StringBuilder(); for (Map.Entry<String, String> me : paramMap.entrySet()) { paramString.append(me.getKey()).append("=").append(me.getValue()).append("&"); } return paramString.toString().substring(0, paramString.toString().length() - 1); } private static String encodeHex(byte[] bytes) { StringBuffer buf = new StringBuffer(bytes.length * 2); for (int i = 0; i < bytes.length; i++) { if (((int) bytes[i] & 0xff) < 0x10) { buf.append("0"); } buf.append(Long.toString((int) bytes[i] & 0xff, 16)); } return buf.toString(); } public static synchronized String encryptByMD5(String data) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(data.getBytes()); return encodeHex(digest.digest()); } catch (NoSuchAlgorithmException nsae) { nsae.printStackTrace(); return null; } } public static String generateSign(Map<String, String> parameterMaps, String appSecret) { String para = getParamStringByMap(parameterMaps); return encryptByMD5(new StringBuilder(encryptByMD5(para)).append(appSecret).toString()); } ``` 調用: ``` static Logger logger = LoggerFactory.getLogger(Sample.class); public static void main(String[] args) { Log4jV2Util.initLog4jV2TestEnv(); String serviceUrl = "http://ip:port/oauth/service/test/validation"; String appId = "s123"; String appSecret = "axbdedgefger"; Map<String, String> paramap = new HashMap(); paramap.put("appId", appId); paramap.put("timeStamp", String.valueOf(new Date().getTime())); paramap.put("sign", Sign.generateSign(paramap, appSecret)); //簽名參數放到最后計算再傳入 String result = null; try { result = HttpPostUtil.executeAction(serviceUrl, paramap, null); } catch (Exception e) { e.printStackTrace(); } logger.warn(result); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看