报表使用自定义提交事件,去调用java后台接口,该用什么方式去调,httpclient好像没用

FineReport 用户X7092250 发布于 2023-7-21 16:03 (编辑于 2023-7-24 17:28)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
祈LLv6中级互助
发布于2023-7-21 18:16

就用CloseableHttpClient调就可以,你调不成功,就先在本地测通

  • 用户X7092250 用户X7092250(提问者) 编译的时候会提示这个,最后一张图
    2023-07-24 15:09 
  • 祈L 祈L 回复 用户X7092250(提问者) import com.fr.json.JSONArray; import com.fr.json.JSONObject; import com.fr.stable.ParameterProvider; import com.fr.third.org.apache.http.HttpResponse; import com.fr.third.org.apache.http.client.methods.HttpPost; import com.fr.third.org.apache.http.entity.StringEntity; import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; import com.fr.third.org.apache.http.impl.client.HttpClientBuilder; import com.fr.third.org.apache.http.protocol.HTTP; import com.fr.third.org.apache.http.util.EntityUtils; 用官方封装的这些包,别用原生的,message你就用response来替代就可以
    2023-07-24 15:28 
  • 用户X7092250 用户X7092250(提问者) 回复 祈L 换了之后编译是没问题的,但点击提交好像是没有触发调用接口的事件,我这个是用main ;
    2023-07-24 16:34 
  • 祈L 祈L 回复 用户X7092250(提问者) 不要用main
    2023-07-24 17:12 
  • 用户X7092250 用户X7092250(提问者) 回复 祈L import com.fr.script.AbstractFunction; public class stradd extends AbstractFunction { public Object run(Object[] args) { 我先试试
    2023-07-24 17:13 
最佳回答
0
用户k6280494Lv6资深互助
发布于2023-7-21 16:05(编辑于 2023-7-21 16:14)
  • 用户X7092250 用户X7092250(提问者) 我是说自定义提交里面,java文件怎么去调第三方接口
    2023-07-21 16:08 
  • 用户k6280494 用户k6280494 回复 用户X7092250(提问者) 那你还不如用js去掉第三方接口
    2023-07-21 16:10 
  • 用户k6280494 用户k6280494 回复 用户X7092250(提问者) https://help.fanruan.com/finereport/doc-view-602.html
    2023-07-21 16:10 
  • 用户X7092250 用户X7092250(提问者) 我之前有试过,有跨域问题,帆软文档上面解决跨域方案也不太行
    2023-07-21 16:12 
  • 用户k6280494 用户k6280494 回复 用户X7092250(提问者) 那你参考下java调用接口的方式
    2023-07-21 16:15 
最佳回答
0
CD20160914Lv8专家互助
发布于2023-7-21 16:05
  • 用户X7092250 用户X7092250(提问者) 我是说在自定义提交事件里面要怎么写java文件,我引帆软报下面的CloseableHttpClient调不成功,也没报错
    2023-07-21 16:11 
最佳回答
0
congerLv6高级互助
发布于2023-7-21 16:15(编辑于 2023-7-21 17:10)

import utils.OkHttpApi;

导入okhttpAPI然后请求就好了

public void getData(String str1){

        /**

         * 发送请求

         */

        OkHttpApi api = new OkHttpApi();

        String run = null;

        try {

            run = api.run("https://api.qq/api/qq.info?qq="+str1);

        } catch (IOException e) {

            FRContext.getLogger().info("没有添加get请求地址");

            e.printStackTrace();

        }

        JSONObject result = JSONObject.parseObject(run);

        String code = result.getString("code");

        String qq = result.getString("qq");

        String name = result.getString("name");

        String qlogo = result.getString("qlogo");

        String lvzuan = result.getString("lvzuan");

        Object[][] datas = new Object[][]{{"code", code},

                {"qq", qq}, {"name", name}, {"qlogo", qlogo}, {"lvzuan", lvzuan}};

        this.rowData = datas;

    }

  • 5关注人数
  • 842浏览人数
  • 最后回答于:2023-7-24 17:28
    请选择关闭问题的原因
    确定 取消
    返回顶部