日常问题随笔-RestTemplate发送Get请求通过body传参问题

问题出现

今天在对接其他部门的接口时,发现对方提供了一个GET请求,但是参数却要求通过body传递json格式的数据。这可难住我了,GET请求还能通过body传递参数吗?带着疑问,先试一下吧。我们项目用的RestTemplate,我想起了RestTemplate的exchange方法有个参数HttpEntity,会不会是这里可以传参数进去呢?迅速写了代码

public static String getForJson(String url, Map<String,Object> dataValue) {
   
    HttpHeaders httpHeaders = new HttpHeaders();
    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
    HttpEntity<String> httpEntity = new HttpEntity<>(JSON.toJSONString(dataValue),httpHeaders);
    return SpringContextUtil.getBean(RestTemplate.class).exchange(url, HttpMethod.GET,httpEntity,String.class).getBody();
}

结果

2020-06-18 17:08:37.544|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "GET /cross/appms-internal/v1/portal/app/config/search HTTP/1.1[\r][\n]"
2020-06-18 17:08:37.544|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Accept: text/plain, application/json, application/*+json, */*[\r][\n]"
2020-06-18 17:08:37.544|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Content-Type: application/json;charset=UTF-8[\r][\n]"
2020-06-18 17:08:37.544|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Accept-Charset: big5, big5-hkscs, cesu-8, euc-jp, euc-kr, gb18030, gb2312, gbk, ibm-thai, ibm00858, ibm01140, ibm01141, ibm01142, ibm01143, ibm01144, ibm01145, ibm01146, ibm01147, ibm01148, ibm01149, ibm037, ibm1026, ibm1047, ibm273, ibm277, ibm278, ibm280, ibm284, ibm285, ibm290, ibm297, ibm420, ibm424, ibm437, ibm500, ibm775, ibm850, ibm852, ibm855, ibm857, ibm860, ibm861, ibm862, ibm863, ibm864, ibm865, ibm866, ibm868, ibm869, ibm870, ibm871, ibm918, iso-2022-cn, iso-2022-jp, iso-2022-jp-2, iso-2022-kr, iso-8859-1, iso-8859-13, iso-8859-15, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8, iso-8859-9, jis_x0201, jis_x0212-1990, koi8-r, koi8-u, shift_jis, tis-620, us-ascii, utf-16, utf-16be, utf-16le, utf-32, utf-32be, utf-32le, utf-8, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, windows-31j, x-big5-hkscs-2001, x-big5-solaris, x-euc-jp-linux, x-euc-tw, x-eucjp-open, x-ibm1006, x-ibm1025, x-ibm1046, x-ibm1097, x-ibm1098, x-ibm1112, x-ibm1122, x-ibm1123, x-ibm1124, x-ibm1166, x-ibm1364, x-ibm1381, x-ibm1383, x-ibm300, x-ibm33722, x-ibm737, x-ibm833, x-ibm834, x-ibm856, x-ibm874, x-ibm875, x-ibm921, x-ibm922, x-ibm930, x-ibm933, x-ibm935, x-ibm937, x-ibm939, x-ibm942, x-ibm942c, x-ibm943, x-ibm943c, x-ibm948, x-ibm949, x-ibm949c, x-ibm950, x-ibm964, x-ibm970, x-iscii91, x-iso-2022-cn-cns, x-iso-2022-cn-gb, x-iso-8859-11, x-jis0208, x-jisautodetect, x-johab, x-macarabic, x-maccentraleurope, x-maccroatian, x-maccyrillic, x-macdingbat, x-macgreek, x-machebrew, x-maciceland, x-macroman, x-macromania, x-macsymbol, x-macthai, x-macturkish, x-macukraine, x-ms932_0213, x-ms950-hkscs, x-ms950-hkscs-xp, x-mswin-936, x-pck, x-sjis_0213, x-utf-16le-bom, x-utf-32be-bom, x-utf-32le-bom, x-windows-50220, x-windows-50221, x-windows-874, x-windows-949, x-windows-950, x-windows-iso2022jp[\r][\n]"
2020-06-18 17:08:37.547|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Host: [\r][\n]"
2020-06-18 17:08:37.547|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
2020-06-18 17:08:37.547|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_201)[\r][\n]"
2020-06-18 17:08:37.547|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
2020-06-18 17:08:37.547|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire|73|http-outgoing-0 >> "[\r][\n]"
2020-06-18 17:08:37.734|DEBUG|http-nio-8090-exec-2|org.apache.http.impl.conn.Wire|wire
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值