POST及GET调用第三方接口

package com.risen.enerystorage.module.agv.config;

import cn.hutool.http.HttpRequest;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.ProtocolException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
@Component
public class HttpPAG {

//    JSONObject Agvunit;

    public JSONObject PostAgvCreateOrder(JSONObject body,String url){
        String PostUrl=url;
        Map<String, String> heads = new HashMap<>();
        heads.put("Content-Type", "application/json");
        String result = HttpRequest.post(PostUrl)
                .headerMap(heads, false)
                .body(body.toString())
                .timeout(30 * 1000).execute().body();
        JSONObject Agvunit = JSONUtil.parseObj(result);
        return Agvunit;
    }

    public JSONObject GetAgvQueryOrder(String apiUrl) {
        try {
            URL url = new URL(apiUrl);
            //打开和url之间的连接
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            //有关connection的通用配置
            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            connection.setRequestProperty("Charset", "utf-8");
            //设置连接方式为GET
            connection.setRequestMethod("GET");
            connection.connect();
            StringBuffer result = new StringBuffer();
            //读取连接输入,使用默认utf-8的转换输入流,使用BufferedReader缓冲区提升读取IO效率且readLine方法支持一次读取一行
            BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            String line;
            //读取字符输入缓冲流获取读取到的数据并存储result中
            while ((line = in.readLine()) != null) {
                result.append(line);
            }
            JSONObject Agvunit = JSONUtil.parseObj(result);
            //核对数据
            return Agvunit;
        } catch (ProtocolException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泛微OA是一款广泛应用于企业办公的办公自动化软件,提供了丰富的功能和可定制的接口,可以方便地与其他系统进行集成。调用第三方接口是在泛微OA中实现与外部系统或服务进行数据交互的重要方式之一。 要实现泛微OA调用第三方接口的Demo,首先需要确定所要调用第三方接口的具体内容和功能。一般而言,调用第三方接口需要提供接口的URL、请求的参数以及相应的请求方法(GET/POST)。 在泛微OA中,可以通过编写自定义的插件或者脚本来实现调用第三方接口。插件可以直接在OA系统中安装并使用,而脚本则可以通过定时任务或触发器来执行相应的操作。 具体实现步骤如下: 1. 在泛微OA的插件管理或脚本管理界面创建一个新插件或脚本。 2. 编写相应的逻辑代码,包括向第三方接口发送请求并获取响应数据的过程。根据第三方接口的要求,通过HTTP请求发送合适的参数,并解析接口返回的数据。 3. 调试和测试插件或脚本,确保能够正确地与第三方接口进行通信并获取到预期的结果。 4. 根据需求,可以在泛微OA的流程或表单中调用刚刚创建的插件或脚本。这样,当流程或表单的相关操作触发时,相应的第三方接口也会被调用。 需要注意的是,调用第三方接口可能需要进行认证或鉴权操作,这需要根据具体情况在代码中添加相应的授权方式,如使用API Key或OAuth等。 综上所述,泛微OA调用第三方接口的Demo实现过程是:确定要调用第三方接口的功能,创建并编写相应的插件或脚本,并在泛微OA的流程或表单中调用该插件或脚本,最后进行调试测试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值