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

邊緣應用服務總線對接

更新時間:

1. 整體介紹

服務依賴方:(即使用該服務的應用)能夠清晰而簡潔的表達他所依賴的接口有哪些,分別期望這些接口完成什么樣的具體功能,并且任何為其提供服務的應用,只要遵循相同的服務模型,即可實現服務提供方的替換。服務提供方:通過服務標準化,能夠清晰而簡潔的表達本服務提供了哪些接口、定義、以及他們所應實現的具體功能,并且任何對該服務所提供的能力有依賴的應用,都必須按照這套接口來實現服務供應;

2.服務依賴方

1.接口描述

API版本

服務模型版本號(一般為1.0)

授權類型

APPSIGN

協議

HTTPS

請求方法

Post

域名(環境變量中獲取)

System.getenv(“iot.hosting.mesh.domain”)

路徑

/模型名稱/接口名稱/MeterService/ChargeMete

2.入參說明

入參名稱

數據類型

是否必須

入參示例

入參描述

ApiVer

字符串

1.0

服務模型API版本

Version

字符串

1.0

服務模型接口版本

body

復雜對象

request.putParam(key, value);

接口請求字段

3.出參列表

出參名稱

數據類型

出參描述

code

整形

響應碼, 200: 成功

message

字符串

錯誤消息

localizedMsg

字符串

本地語言錯誤消息

data

長整型

響應結果返回的長整型數據是增加的數據的id

4.請求示例

    /**
     * 系統環境變量中獲取的
     */
    public static final String appKey = System.getenv("iot.hosting.appKey");
    public static final String AppSecret = System.getenv("iot.hosting.appSecret");
    //服務模型請求的路由
    private static final String SERVICE_EDGE__PATH = System.getenv("iot.hosting.mesh.domain");
public static void main(String[] args) throws UnsupportedEncodingException {
    IoTApiClientBuilderParams ioTApiClientBuilderParams =
      new IoTApiClientBuilderParams();
    ioTApiClientBuilderParams.setAppKey("你的<AppKey>");
    ioTApiClientBuilderParams.setAppSecret("你的<AppSecret>");
    SyncApiClient syncClient = new SyncApiClient(ioTApiClientBuilderParams);

    IoTApiRequest request = new IoTApiRequest();
    //設置api的版本
        request.setApiVer("1.0");
        request.putParam("requestId", "213123");
        request.putParam("meterNo", "213123");
        request.putParam("amount", "213123");
        request.putParam("sourceAppId", "213123");
        request.putParam("targetAppId", "213123");

        //請求參數版本,域名、path、request
        request.setVersion("1.0");

    //請求參數域名、path、request
    ApiResponse response = syncClient.postBody(SERVICE_EDGE__PATH,
      "/服務名稱/接口名稱", request, true);
    System.out.println( "response code = " + response.getCode()
      + " response = " + new String(response.getBody(), "UTF-8"));
}

5.返回結果示例 JSON

{   
    "id": "3826f64d-6c7b-4d21-8214-8b23771b763a"
    "code": 200,
    "localizedMsg": null,
    "message": null,
    "data": 791
}

6.失敗返回結果示例 JSON

{
    "id": "f561d973-9094-479f-81fd-95ec3e7271f5",
    "code": 52009,
    "localizedMsg": "傳入的參數和模型字段不匹配:name1",
    "message": "傳入的參數和模型字段不匹配:name1",
    "data": null
}

3.服務提供方

1.接口描述

正常編碼方式,提供對應服務模型接口的調用的響應結果。

2.請求示例

/**
 * 服務模型測試,服務提供方開發參考
 */
@RestController
@PostMapping(value = "/queryBodyService", method = {RequestMethod.POST, RequestMethod.GET})//一般第一層為服務名稱
public class ServiceProvideController {
    @RequestMapping("/queryBloodPressure")
    public DTO test(HttpServletRequest request) throws Exception {

        Map<String, String> map = new HashMap<String, String>();
        Enumeration headerNames = request.getHeaderNames();
        while (headerNames.hasMoreElements()) {
            String key = (String) headerNames.nextElement();
            String value = request.getHeader(key);
            map.put(key, value);
            String sign = map.get("x-ca-signature");
            System.out.println(sign);

        }
        String json = "";
        String signHeaders = request.getHeader("HEADER_SM_ROUTER_DESTINATION");
        System.out.println(signHeaders);

        //iot傳遞請求參數需要用流的方式讀取,@request的方式是獲取不到參數的
        json = new String(readInputStream(request.getInputStream()), "UTF-8");

        System.out.println(json);
        System.out.println("++++調用成功+++");
        DTO dto = new DTO();
        dto.setCode(200);

        dto.setMessage("success");
        dto.setLocalizedMsg("OK");
        JSONObject object = new JSONObject();
        object.put("abc", "123123");
        dto.setData(object);

        return dto;

    }

    public static byte[] readInputStream(InputStream inStream) throws Exception {
        ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
        byte[] buffer = new byte[1024];
        boolean var3 = false;

        int len;
        while ((len = inStream.read(buffer)) != -1) {
            outSteam.write(buffer, 0, len);
        }
        outSteam.close();
        inStream.close();
        return outSteam.toByteArray();
    }
}