springboot调用http接口 x-www-form-urlencoded json示例

http x-www-form-urlencoded json


x-www-form-urlencoded

// An highlighted block

    private String getToken() throws Exception {
        CloseableHttpClient client = HttpClients.createDefault();
        URI uri = new URI(tokenUrl);
        HttpPost httpPost = new HttpPost(uri);

        Map<String, String> map = new HashMap<>();
        map.put("name", name);
        map.put("pwd", pwd);
        List<NameValuePair> params = getParamList(map);
        httpPost.setEntity(new UrlEncodedFormEntity(params));
        httpPost.addHeader("Content-type", "application/x-www-form-urlencoded");
        HttpResponse resp = client.execute(httpPost);

        String respStr = EntityUtils.toString(resp.getEntity(), "utf-8");
        System.out.println(respStr);
        JSONObject object = JSON.parseObject(respStr);
        return respStr;
    }
	private List<NameValuePair> getParamList(Map<String, String> map) {

        List<NameValuePair> params = new ArrayList<>();
        for (Map.Entry<String, String> entry : map.entrySet()) {
            params.add(new NameValuePair() {
                @Override
                public String getName() {
                    return entry.getKey();
                }

                @Override
                public String getValue() {
                    return entry.getValue();
                }
            });
        }
        return params;
    }

json


    private static void order(OrderReqDTO orderReqDTO) throws Exception {
        // 连接下订单接口
        CloseableHttpClient httpClient = HttpClients.createDefault();
        URI uri = new URI(url);
        HttpPost httpPost = new HttpPost(uri);

        StringEntity entity = new StringEntity(JSON.toJSONString(orderReqDTO), "utf-8");
        entity.setContentType("application/json");
        httpPost.setEntity(entity);
        httpPost.addHeader("X-Auth-Token", getToken());

        RespDTO respDTO = null;
        try {
            HttpResponse resp = httpClient.execute(httpPost);
            // 请求成功
            if (resp.getStatusLine().getStatusCode() == 200) {
                String str = EntityUtils.toString(resp.getEntity(), "UTF-8");
                System.out.println(str);
                respDTO = JSON.parseObject(str, RespDTO.class);
                System.out.println(respDTO);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值