开发者社区> 问答> 正文

API 网关的body参数如何编码?

API 网关的body参数如何编码?

展开
收起
保持可爱mmm 2020-03-26 21:41:52 594 0
1 条回答
写回答
取消 提交回答
  • 1)form形式body的编码

        UrlEncodedFormEntity formEntity = buildFormEntity(bodys);
        if (formEntity != null) {
            post.setEntity(formEntity);
        }
    
     /**
         * 构建FormEntity
         * 
         * @param formParam
         * @return
         * @throws UnsupportedEncodingException
         */
        private static UrlEncodedFormEntity buildFormEntity(Map<String, String> formParam)
                throws UnsupportedEncodingException {
            if (formParam != null) {
                List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
                for (String key : formParam.keySet()) {
                    nameValuePairList.add(new BasicNameValuePair(key, formParam.get(key)));
                }
                UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "UTF-8");
                formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
                return formEntity;
            }
            return null;
        }
    

    2)非form形式的body

    String 形式的body。

    if (StringUtils.isNotBlank(body)) {
        post.setEntity(new StringEntity(body, "UTF-8"));
    }
    

    byte[]形式的body

    if (bodys != null) {
        post.setEntity(new ByteArrayEntity(bodys));
    }
    
    2020-03-26 21:42:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
阿里云容器 AHAS Sentinel 网关流控揭秘 立即下载
阿里Tengine网关最佳实践 立即下载
《MSE 微服务网关》 立即下载