日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

HTTP API 入門

更新時間:

本文將引導您創建、發布并調用一個 HTTP 類型的 API 服務,以快速體驗 API 網關。

操作步驟

說明

建議您先閱讀 快速入門概述,了解 API 網關的角色及完整使用流程。

http-api-入門

示例工程

為方便快速開發體驗 API 網關 HTTP API 服務,您可以下載本文涉及的 示例工程

步驟一:編寫 HTTP Server

為方便快速體驗 API 網關 HTTP API 服務發布與調用,此處編寫一個簡單的 Spring Boot Server。

說明

不使用后端集群認證功能時,API 網關對 HTTP Server 無要求。如需網關和服務端之間的雙向認證,則需要接入網關 SDK。目前僅提供 Java SDK。詳見 HTTP API 服務開發

@RestController
public class StartController {

    @RequestMapping("/hello/world")
    public String hello() {
        System.out.println("hello");
        Map<String, String> m = new HashMap<>();
        m.put("hello", "world");

        return JSON.toJSONString(m);
    }
}

編寫完成后,將服務部署在 API 網關可以訪問到的服務器上,啟動該 server。

步驟二:創建系統集群

  1. 進入金融分布式架構控制臺。

  2. 在左側導航欄單擊 API 統一網關 > API 發布 > 系統集群

  3. 在系統集群列表頁面,單擊 創建系統集群 按鈕。

  4. 在新彈出窗口中,您需要配置以下信息:

    • 系統集群名稱:必填,用于識別系統集群。本示例使用 helloserver

    • 協議類型:根據本示例,選擇 HTTP

    • 地址配置方式:選擇手動配置,即手動配置系統集群的 IP 地址或域名。

    • IP地址/域名:格式為 地址:端口。本示例中,IP 地址為 http://127.0.0.1,端口號為 8080

      • IP 地址或域名:

        • IP 地址格式為 (1~255).(0~255).(0~255).(0~255)。

        • 域名可以包含字母、數字或者半角的連接符 (-),總共不超過 200 個字符。

        • 域名必須以 http://https:// 開頭。

      • 端口:HTTP 默認端口為 80,SOFARPC 默認端口為 12200。端口號范圍為 1-65535。

    • 認證方式:即網關向后端系統集群發送請求時是否加簽。本示例,不使用認證功能,選擇

      說明

      如需認證功能,在步驟一編寫后端系統、本地 API 服務開發時需要接入網關 SDK。詳見 編寫HTTP API

    • 描述:用于描述系統集群的作用等,64 個字符以內,可為空。

      1

  5. 完成后單擊 確定

步驟三:創建 API 分組

  1. 在左側導航欄單擊 API 發布 > API 分組,進入分組列表。

  2. 單擊 API 分組列表右上方的 創建分組 按鈕。

  3. 在新彈出窗口中,輸入 API 分組信息:

    • 分組名稱:必填,用于識別 API 分組。支持英文字母、中文、數字、下劃線(_)、連接符(-),32 個字符以內。本示例使用 hello

    • 描述:選填,用于描述 API 分組的作用等,64 個字符以內,可為空。

      2

  4. 完成后單擊 確定

步驟四:創建并發布 HTTP API

  1. 在左側導航欄單擊 API 發布 > API 管理 頁,單擊列表右上方的 創建 API

  2. 在新頁面中,選擇 HTTP API 類型,單擊 創建

  3. 定義 API 步驟中,您需要配置以下信息:

    • API 分組:必選,選擇步驟三創建的 API 分組。

    • API 名稱:必填,用于識別 API,支持英文字母、中文、數字、下劃線(_)、連接符(-),32 個字符以內。本示例使用 hello

      說明

      同一個 API 分組下,API 名稱不能相同。

    • 描述:選填,用于描述 API 的作用等,64 個字符以內。

    • API 授權應用類型:必選,指定可以訂閱并調用該 API 的應用類型。根據本示例,需選擇 應用

    • 請求路徑:必填,針對應用設置的請求資源的 URL,通過請求路徑可以定位到要請求的資源。根據本示例,需輸入 /hello/world

    • 路徑匹配規則:選擇 絕對匹配,即調用時完全匹配以上填寫的路徑。詳見 路徑匹配規則

    • 方法:必填,表明要對給定的 HTTP 資源執行的操作。本示例使用 GET

    • 請求參數:即 API 訂閱者向網關發起請求時要配置的參數。詳見 API 屬性說明 > 請求參數

    • 響應參數:即網關向訂閱者發送響應時的返回值類型和錯誤碼等。詳見 API 屬性說明 > 響應參數

      3

  4. 單擊 下一步,進入后端配置頁面,您需要選擇 后端配置類型 并輸入后端配置信息。根據本示例,需選擇 系統集群 并配置具體集群信息。

    • 協議類型:必選,表示網關接收到請求后轉發給的后端服務使用的通信協議類型。根據本示例,選擇 HTTP

    • 請求路徑:API 請求所指向的資源 URL。本示例使用 /hello/world

    • 超時時間:必填,API 請求超時時間,單位為毫秒(ms),保持默認 3000 毫秒即可。

    • 路由策略:必選,表示當網關接收到語法后使用的路由策略。本例中選擇 根據請求路徑路由,即直接轉發。

    • 系統集群:必選,選擇步驟二創建的系統集群,即 helloserver

      5

  5. 單擊 創建。

  6. 創建完成后,單擊 立即發布 發布該 API。

步驟五:創建應用

  1. 在左側導航欄單擊 API 訂閱 > 應用管理 頁,單擊列表右上方的 創建應用

  2. 創建應用 窗口,選擇 應用類型應用

  3. 輸入 應用名稱,用于識別應用。本例使用 hello

    11

  4. 單擊 確定

應用添加完成后,訂閱者需在應用詳情頁,獲取該應用 APPID。獲取 APPID 后,需將 APPID 提供給想要訂閱的 API 的發布者,獲得該 API 的訪問授權。

步驟六:創建授權對象

  1. 在左側導航欄單擊 API 發布 > 授權管理 頁,單擊列表右上方的 創建授權對象

  2. 創建授權對象 窗口中,配置訂閱方應用的授權信息。

    • 應用來源:必選。此處選 內部系統 即可,表示授權給當前租戶的當前環境下的應用訂閱。

    • 應用名稱:輸入步驟五創建的應用名稱,如 hello,系統會自動獲取其 APPID 與類型。

    • 所屬公司/部門:用于識別應用所屬的公司或部門,可為空。

    • 描述:輸入對該授權對象的備注信息,可為空。

      22

  3. 完成后單擊 確定

步驟七:綁定授權對象

  1. API 管理 頁面,找到待訂閱 API,進入其詳情頁。

  2. 授權對象 標簽頁下,單擊 綁定授權對象

  3. 添加授權對象 窗口中,找到步驟六創建的授權應用。

    11

  4. 勾選該應用,單擊 確定,完成 API 授權。

步驟八:編寫 API 調用代碼

  1. 獲取如下服務配置信息:

    • 在訂閱方應用詳情頁獲取該應用的密鑰(Access Key/Secret Key)。

      111

    • 在 API 詳情頁獲取該 API 的域名(host)、請求路徑(path)與方法(method)。

      1111

  2. 編寫調用代碼,此處以 Java 代碼為例:

    說明

    如果 API 開啟了密鑰認證,您還需要在工程中配置相應的 Access Key 和 Secret Key,推薦使用啟動參數和環境變量的形式。

    # 客戶端請求的ak、sk,就是應用的密鑰信息
    gateway.accessKey=<testAccessKey ID>
    gateway.secretKey=<testSecretKey ID>
    apigateway.url=<yourGatewayURL>
       @Value("${gateway.accessKey}")
       private String accessKey;
    
       @Value("${gateway.secretKey}")
       private String secretKey;
    
       @Value("${apigateway.url}")
       private String gatewayurl;
    
        @Before
        public void initClient() {
            // 初始化請求客戶端
            ApiSecretKey apiSecretKey = new ApiSecretKey(gateway.accessKey, gateway.secretKey);
            List<ApiSecretKey> secretKeys = new ArrayList<>();
            secretKeys.add(apiSecretKey);
            apiClient = new DefaultApiClient(gatewayUrl, secretKeys);
        }
    
        @Test
        public void testNoSignHttp() {
            ParamGetRequest request = new ParamGetRequest();
            request.setPath("hello");
    
            // 是否對響應進行簽名校驗
            request.setClientCheckSign(false);
    
            ApiResponse response = apiClient.execute(request);
    
            System.out.println(JSON.toJSONString(response));
        }
  3. 發起調用后,可得出以下結果:

    {"body":"{\"hello\":\"world\"}"}

注意事項

如果您使用的是本文檔的示例工程,可以將 com.alipay.gateway.quickstart.Config#apiServletSignFilter 方法中的 filter.setCheckSign(true); 注釋掉。注釋之后,將不會對請求進行驗簽驗證;否則會報“獲取簽名密鑰失敗”的錯誤。

注釋