关键字:API、api、远程

释义

远程调用其他第三方的服务

1、get请求

  • 函数部分

    图1

    let AbstractTrigger = require('AbstractTrigger');
    class MyTrigger extends AbstractTrigger {
        execute(context, param) {
            /* 可以查看context、param的数据形态*/
            // var jsonData = JSON.stringify(context);// 转成JSON格式
            // var jsonparam = JSON.stringify(param);// 转成JSON格式
            // 可以弹出具体的信息(类似前端函数的alert)
            // throw new Error("contextResult====>" + jsonData + "  param====> " +jsonparam);
    
            //信息体
            let body = {};
    
            //信息头
            let header = {
                'Content-Type': "application/json;charset=UTF-8",
                // 就是appCode
                'apicode': "177b428d-c46c-4c48-af4b-bfa4fedcee5d",
                'appkey': "1a56832e8e404c20a8fd6aa162191e0f"
            };
            // header里必须配置apicode、appkey信息
            // 可以是http请求
            //let responseObj = apiman("get", "http://IP:端口号/getApiMan", JSON.stringify(header), JSON.stringify(body));
            // 也可以是https请求
            let responseObj = apiman("get", "https://whgang.natappvip.cc/getApiMan", JSON.stringify(header), JSON.stringify(body));
    
            // 可以直观的看到具体的错误信息
            // throw new Error(responseObj);
            return {
                responseObj
            };
        }
    }
    exports({
        "entryPoint": MyTrigger
    });
    
  • 后端应用(此次以springBoot项目举例说明、只展示部分核心代码)

    图2

      package com.yonyou.iuap.corp.demo.web;
    
      import org.springframework.web.bind.annotation.*;
      import java.util.HashMap;
      import java.util.Map;
    
      @RestController
      public class PostManController {
         @GetMapping("getApiMan")
             public ApiManDto getApiMan() {
                 ApiManDto apiMan = new ApiManDto();
                 apiMan.setCode("200");
                 apiMan.setMessage("getApiMan调用成功");
                 return apiMan;
             }
      }
    
  • 结果展示

    图3

2、post请求

  • 函数部分 图4

    let AbstractTrigger = require('AbstractTrigger');
    class MyTrigger extends AbstractTrigger {
        execute(context, param) {
            /* 可以查看context、param的数据形态*/
            // var jsonData = JSON.stringify(context);// 转成JSON格式
            // var jsonparam = JSON.stringify(param);// 转成JSON格式
            // 可以弹出具体的信息(类似前端函数的alert)
            // throw new Error("contextResult====>" + jsonData + "  param====> " +jsonparam);
    
            //信息体
            let body = {
              testBody: "testBody"
            };
    
            //信息头
            let header = {
                'Content-Type': "application/json;charset=UTF-8",
                // 就是appCode
                'apicode': "177b428d-c46c-4c48-af4b-bfa4fedcee5d",
                'appkey': "1a56832e8e404c20a8fd6aa162191e0f"
            };
            // header里必须配置apicode、appkey信息
            // 可以是http请求
            //let responseObj = apiman("get", "http://IP:端口号/getApiMan", JSON.stringify(header), JSON.stringify(body));
            // 也可以是https请求
            let responseObj = apiman("post", "https://whgang.natappvip.cc/getApiManByPost", JSON.stringify(header), JSON.stringify(body));
    
            // 可以直观的看到具体的错误信息
            // throw new Error(responseObj);
            return {
                responseObj
            };
        }
    }
    exports({
        "entryPoint": MyTrigger
    });
    
  • 后端应用(此次以springBoot项目举例说明、只展示部分核心代码)

    图5

     package com.yonyou.iuap.corp.demo.web;
     import com.yonyou.iuap.corp.demo.model.ApiManDto;
     import org.springframework.web.bind.annotation.*;
    
     import java.util.HashMap;
     import java.util.Map;
    
     @RestController
     public class PostManController {
    
         @PostMapping("getApiManByPost")
         public Map<String, String> getApiManByPost(@RequestBody Map<String, String> mapDemo) {
             Map<String,String> map = new HashMap<>();
             map.put("code","200");
             // 最简单的案例(故此处写死获取前台后端函数body体的参数)
             map.put("apiBody",mapDemo.get("testBody"));
             map.put("message","getApiManByPost调用成功");
             return map;
         }
    
     }
    
    • 结果展示

      图6

3、总述

  • 可以是https请求、也可以是http请求

  • header里必须配置apicode、appkey信息

  • 后端代码可返回实体、对象; 不能是简单的字符串、后端函数 "apiman" 解析不了

Copyright © 用友 -【生态技术部】 2021 all right reserved,powered by Gitbook修订时间: 2021-12-29 09:34:17

results matching ""

    No results matching ""