最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java調(diào)用參數(shù)類型是application/x-www-form-urlencoded的API問題

 更新時間:2024年09月29日 08:52:58   作者:謝月  
在使用Postman進(jìn)行接口測試時,對于POST請求,需將請求頭設(shè)置為application/x-www-form-urlencoded,并將參數(shù)轉(zhuǎn)為String類型,通常在GET請求中,參數(shù)直接拼接在URL后,本文通過具體實(shí)例,詳細(xì)講解了參數(shù)處理的方法,適合API開發(fā)者參考

一、分析

首先用postman測試對應(yīng)的接口

測試如下:

其中請求頭中content-type為application/x-www-form-urlencoded

參數(shù)是:

queryParam:{"id":"mobile","userName":"name","mobile":"12345678"}

注意:

我們進(jìn)行API調(diào)用時,參數(shù)需要轉(zhuǎn)為String類型,平時我們調(diào)用get請求application/x-www-form-urlencoded參數(shù)都是直接拼接在url后面, url?字段名=值&字段名=值,所以這里用同樣的方式進(jìn)行參數(shù)處理。

二、代碼樣例

public String getNameCode(String name,String phone) throws Exception {
        // 1.組裝數(shù)據(jù),以及請求頭
        Map header = new HashMap();
        String newParam = "queryParam={\"id\":\"mobile\",\"userName\":\""+name+"\",\"mobile\":\""+phone+"\"}";
        header.put("content-type","application/x-www-form-urlencoded");
        // 3.調(diào)用接口查詢
        String testRst = HttpUtil.doPost("http://localhost/sv/query",newParam,header);
        if(testRst==null){
            throw new Exception("bomc接口響應(yīng)失敗,請稍后重試");
        }
        // 4.解析結(jié)果集
        JSONObject json = JSONObject.parseObject(testRst);
        JSONArray item = json.getJSONArray("items");
        JSONObject obj = item.getJSONObject(0);
        String account = (String) obj.get("userAccount");
        return account;
}
 
public static String doPost(String url, String params, Map header) throws Exception {
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpPost httpPost = new HttpPost(url);// 創(chuàng)建httpPost
        logger.info("POST請求url:" + url);
        for (Iterator iter = header.keySet().iterator(); iter.hasNext(); ) {
            String key = String.valueOf(iter.next());
            String value = String.valueOf(header.get(key));
            httpPost.setHeader(key, value);
        }
        RequestConfig requestConfig = RequestConfig.custom().setConnectionRequestTimeout(20000)
                .setSocketTimeout(20000).setConnectTimeout(20000).build();
        httpPost.setConfig(requestConfig);
        //設(shè)置參數(shù)
        logger.info("POST請求參數(shù):" + params);
 
        StringEntity entity = new StringEntity(params, "utf-8");
        entity.setContentEncoding("UTF-8");
        entity.setContentType("application/json");
        httpPost.setEntity(entity);
        CloseableHttpResponse response = null;
        try {
            response = httpclient.execute(httpPost);
            StatusLine status = response.getStatusLine();
            int state = status.getStatusCode();
            if (state == HttpStatus.SC_OK) {
                HttpEntity responseEntity = response.getEntity();
                String jsonString = EntityUtils.toString(responseEntity,"UTF-8");
                return jsonString;
            } else {
                logger.error("請求返回:" + state + "(" + url + ")");
            }
        } finally {
            if (response != null) {
                try {
                    response.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            try {
                httpclient.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
}

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 全面解讀Java?NIO(看這篇就夠了)

    全面解讀Java?NIO(看這篇就夠了)

    Java?NIO是Java1.4之后推出來的一套IO接口,NIO提供了一種完全不同的操作方式,?NIO支持面向緩沖區(qū)的、基于通道的IO操作,這篇文章主要介紹了Java?NIO詳解(看這篇就夠了),需要的朋友可以參考下
    2023-05-05
  • 基于java高并發(fā)處理方案

    基于java高并發(fā)處理方案

    這篇文章主要介紹了基于java高并發(fā)處理方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • logback?OutputStreamAppender高效日志輸出源碼解析

    logback?OutputStreamAppender高效日志輸出源碼解析

    這篇文章主要介紹了為大家logback?OutputStreamAppender日志輸出效率提升示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • Hutool開發(fā)MapUtil工具類使用示例

    Hutool開發(fā)MapUtil工具類使用示例

    這篇文章主要為大家介紹了Hutool開發(fā)MapUtil工具類使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • java?-jar指定spring配置文件完整示例

    java?-jar指定spring配置文件完整示例

    這篇文章主要介紹了java?-jar指定spring配置文件的相關(guān)資料,通過示例講解了激活dev profile、設(shè)置外部配置路徑、直接指定配置文件名,需要的朋友可以參考下
    2025-06-06
  • 把spring boot項(xiàng)目發(fā)布tomcat容器(包含發(fā)布到tomcat6的方法)

    把spring boot項(xiàng)目發(fā)布tomcat容器(包含發(fā)布到tomcat6的方法)

    這篇文章主要介紹了把spring boot項(xiàng)目發(fā)布tomcat容器(包含發(fā)布到tomcat6的方法),然后在文章給大家提到了如何將Spring Boot項(xiàng)目打包部署到外部Tomcat,需要的朋友參考下吧
    2017-11-11
  • Spring?MVC內(nèi)置過濾器功能示例詳解

    Spring?MVC內(nèi)置過濾器功能示例詳解

    這篇文章主要為大家介紹了Spring?MVC內(nèi)置過濾器使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • feign name指定服務(wù)調(diào)用無效問題及解決

    feign name指定服務(wù)調(diào)用無效問題及解決

    文章主要介紹了FeignClient注解的常用屬性,并通過一個具體的例子說明了為什么某個Feign調(diào)用需要使用url指定路徑才能訪問,最后,文章給出了解決辦法,即使用path屬性指定前綴
    2024-11-11
  • java實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送文件

    java實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送文件

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Java中的Spring?如何處理循環(huán)依賴

    Java中的Spring?如何處理循環(huán)依賴

    這篇文章主要介紹了Java中的Spring?如何處理循環(huán)依賴,依賴指的是Bean與Bean之間的依賴關(guān)系,循環(huán)依賴指的是兩個或者多個Bean相互依賴,關(guān)于更多Spring?處理循環(huán)依賴的詳情,需要的朋友可以參考下面文章具體內(nèi)容
    2022-05-05

最新評論

麻阳| 星座| 丘北县| 桐乡市| 贡嘎县| 惠水县| 云安县| 南涧| 鄂托克旗| 涞水县| 崇仁县| 大城县| 改则县| 张家川| 获嘉县| 民和| 阳东县| 托里县| 偏关县| 宁波市| 赤峰市| 闸北区| 海兴县| 乌什县| 正宁县| 阜平县| 张北县| 东明县| 马鞍山市| 玉门市| 射洪县| 耒阳市| 前郭尔| 儋州市| 沽源县| 兴文县| 汉寿县| 柳州市| 鞍山市| 高平市| 九寨沟县|