请求sino接口传递报名信息同时获取签到码

本文介绍了一个使用Java发起HTTP POST请求的具体实例。该请求发送到指定URL,并包含多个字段如姓名、公司等,所有参数封装在formData中,采用JSON格式。此外,还展示了如何通过构造请求体来传递这些参数。

java  http的 post请求  参数在formData里  json格式

http://s2-api.smarket.net.cn/seminar/contact/registerNew

{
  "instanceId": 24342,
  "formId": 8549,
  "channel": "",
  "globalUserId": "",
  "weChatId": "",
  "openId": "",
  "isPreview": "0",
  "formData": [
    {
      "fieldName": "name",
      "value": "张三"
    },
    {
      "fieldName": "enterprise",
      "value": "百度公司"
    },
    {
      "fieldName": "JobTitle",
      "value": "项目经理"
    },
    {
      "fieldName": "UserId",
      "value": "123456"
    },
    {
      "fieldName": "EventSignId",
      "value": "123"
    },
    {
      "fieldName": "QrCodeUrl",
      "value": "http://www.baidu.com"
    },
    {
      "fieldName": "PortraitUrl",
      "value": "http://www.baidu.com"
    }
  ]
}

请求示例

/**
     * 调用sino 接口获取签到码
     *
     * @param eventSign
     * @param smallImgUrl
     * @return
     * @throws Exception
     */
    public JSONObject getSinoInfo(EventSign eventSign, String smallImgUrl, UserBaseToInfo info) throws Exception {
        String url = commonProperties.getRegisterNewUrl();
        HttpClient httpClient = HttpClientUtils.getCustomerHttpClient();
        HttpPost httpPost = new HttpPost(url);
        List<Map<String, Object>> returnLists = new ArrayList<Map<String, Object>>();
        Map<String, Object> eventMap = new HashMap<String, Object>();
        eventMap.put("fieldName", "EventId");
        eventMap.put("value", eventSign.getEventId());
        returnLists.add(eventMap);
        Map<String, Object> userMap = new HashMap<String, Object>();
        userMap.put("fieldName", "UserId");
        userMap.put("value", eventSign.getUserId());
        returnLists.add(userMap);
        Map<String, Object> eventSignMap = new HashMap<String, Object>();
        eventSignMap.put("fieldName", "EventSignId");
        eventSignMap.put("value", eventSign.getId());
        returnLists.add(eventSignMap);
        Map<String, Object> qrCodeUrlMap = new HashMap<String, Object>();
        qrCodeUrlMap.put("fieldName", "QrCodeUrl");
        qrCodeUrlMap.put("value", smallImgUrl);
        returnLists.add(qrCodeUrlMap);
        //头像
        Map<String, Object> avatarMap = new HashMap<String, Object>();
        avatarMap.put("fieldName", "PortraitUrl");
        avatarMap.put("value", info.getUserAvatar());
        returnLists.add(avatarMap);
        //公司
        if (info != null && StringUtils.isNotEmpty(info.getUserCompany())) {
            Map<String, Object> companyMap = new HashMap<String, Object>();
            companyMap.put("fieldName", "enterprise");
            companyMap.put("value", info.getUserCompany());
            returnLists.add(companyMap);
        }
        //职位
        if (info != null && StringUtils.isNotEmpty(info.getUserPosition())) {
            Map<String, Object> postionMap = new HashMap<String, Object>();
            postionMap.put("fieldName", "JobTitle");
            postionMap.put("value", info.getUserPosition());
            returnLists.add(postionMap);
        }
        //姓名
        if (info != null && StringUtils.isNotEmpty(info.getUserName())) {
            Map<String, Object> nameMap = new HashMap<String, Object>();
            nameMap.put("fieldName", "name");
            nameMap.put("value", info.getUserName());
            returnLists.add(nameMap);
        }
        Gson gson = new Gson();
        List<BasicNameValuePair> params = new ArrayList<BasicNameValuePair>();
        params.add(new BasicNameValuePair("instanceId", commonProperties.getInstanceId()));
        params.add(new BasicNameValuePair("formId", commonProperties.getFormId()));
        params.add(new BasicNameValuePair("channel", ""));
        params.add(new BasicNameValuePair("globalUserId", ""));
        params.add(new BasicNameValuePair("weChatId", ""));
        params.add(new BasicNameValuePair("openId", ""));
        params.add(new BasicNameValuePair("isPreview", "0"));
        params.add(new BasicNameValuePair("formData", gson.toJson(returnLists)));
        httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
        HttpResponse httpResponse = httpClient.execute(httpPost);
        return JSONObject.parseObject(EntityUtils.toString(httpResponse.getEntity(), "utf-8"));
    }

 

转载于:https://my.oschina.net/luanwu/blog/1588026

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值