• 接口平台客户端

    组件编码 hzero-boot-interface

    一、简介

    1.1 概述

    接口平台客户端提供了对Rest风格、Soap风格调用的通用模板,模板支持Oauth2、Basic登录认证。客户端还提供了针对接口平台接口调用的SDK,使用该SDK调用接口平台接口,能够使用接口平台监控监控等功能。

    1.2 组件坐标

    
    <dependency>
        <groupId>org.hzero.boot</groupId>
        <artifactId>hzero-boot-interface</artifactId>
        <version>${hzero.boot.version}</version>
    </dependency>
    
    

    1.3 功能特性

    注意:

    SDK中有InterfaceInvokeSdk、PublicInterfaceInvokeSdk两个类。若是HZERO内部系统调用建议直接用InterfaceInvokeSdk此SDK直接向外部系统接口发起调用,不会走接口平台的网络。
    PublicInterfaceInvokeSdk原本初衷是供外部系统调用接口平台接口使用的,但是可能会有依赖冲突问题,所以目前对外部系统通过SDK直接调用接口平台不是很友好。此SDK调用是真正意义上的走了接口平台完整的调用外部系统的接口流程。

    二、使用说明

    step1: 在工程中POM文件中添加依赖

    
    <dependency>
        <groupId>org.hzero.boot</groupId>
        <artifactId>hzero-boot-interface</artifactId>
        <version>${hzero.boot.version}</version>
    </dependency>
    
    

    step2: 发起调用

    示例:REST风格,SDK调用接口平台接口

    
        @Autowired
        private InterfaceInvokeSdk interfaceInvokeSdk;
        @Test
        public void sdkDemo(){
    
            // RequestPayloadDTO包含了调用外部系统接口所需要的所有参数信息
            RequestPayloadDTO requestPayloadDTO
                    = new RequestPayloadDTO();
    
            // 调用外部系统接口需要的头部参数
            Map<String,String> headerMap = new HashMap<>();
            requestPayloadDTO.setHeaderParamMap(headerMap);
    
            // 调用外部系统接口需要的路径参数
            Map<String,String> pathVariable = new HashMap<>();
            requestPayloadDTO.setPathVariableMap(pathVariable);
    
            // 调用外部系统接口需要的URL/GET参数
            Map<String,String> urlOrGetMap = new HashMap<>();
            requestPayloadDTO.setPathVariableMap(urlOrGetMap);
    
            // 调用外部系统接口需要的body参数
            String body ="";
            requestPayloadDTO.setPayload(body);
    
            // 调用外部系统接口需要的文件参数
            Map<String, MultipartFile> file = new HashMap<>();
            requestPayloadDTO.setMultipartFileMap(file);
    
            // 外部系统接口的参数类型
            String mediaType="";
            requestPayloadDTO.setMediaType(mediaType);
    
            // 发起调用
            interfaceInvokeSdk.invoke(0L,
                    "TEST_ITF",
                    "TEST_SERVER",
                    requestPayloadDTO);
        }
    
    

    三、版本更新日志

    版本 0.10.0.RELEASE [2019-07-20]

    展望