前言
java发送请求的方法有很多,这里只介绍两种。
hutool和resttemplate
下边提供两种后端发送请求的方式,一个是基于hutool工具的,一个是基于resttemplate的,为什么要写这两种呢,因为有的时候用hutool的方式不太管用,有的时候用resttemplate也不太管用,所以就且换着用,谁能用,用谁。
hutool方式
get请求
@getmapping("/userelelist")
@responsebody
public jsonobject userelelist(@requestparam(name = "usercode") string usercode, httpservletrequest request) {
string authorization = request.getheader("authorization");
string token = request.getheader("token");
string body = httputil.createget("http://ip:8068/userelelist?usercode=" + usercode)
.header("authorization", authorization)
.header("token", token)
.execute()
.body();
return jsonobject.parseobject(body);
}
@getmapping("/getkdtoken")
@responsebody
public jsonobject userelelist(@requestparam(name = "appid") string appid,
@requestparam(name = "appsecret") string appsecret,
@requestparam(name = "granttype") string granttype) {
string post = httputil.get("http://ip:8068/getkdtoken?appid=" + appid + "&appsecret=" + appsecret + "&granttype=" + granttype);
return jsonobject.parseobject(post);
}
post请求
@postmapping("/elerechargemoneyalllist")
@responsebody
public jsonobject elerechargemoneyalllist(@requestbody map<string, object> map, httpservletrequest request) {
string authorization = request.getheader("authorization");
string token = request.getheader("token");
object elemeterid = map.get("elemeterid");
object money = map.get("money");
object selorderno = map.get("selorderno");
string post = httputil
.createpost("http://ip:8068/elerechargemoneyalllist?elemeterid=" + elemeterid + "&money=" + money + "&adds=0&selorderno=" + selorderno + "&paytype=40")
.header("authorization", authorization)
.header("token", token)
.execute()
.body();
return jsonobject.parseobject(post);
}
@postmapping("/getclientbycnumber")
@responsebody
public jsonobject getclientbycnumber(@requestbody map<string, object> map) {
string post = httputil.post("http://ip:8006/getclientbycnumber", map);
return jsonobject.parseobject(post);
}
resttemplate方式
@postmapping("/userpricepay")
@responsebody
public jsonobject userpricepay(@requestbody map<string, object> map, httpservletrequest request) {
string sign = request.getheader("sign");
resttemplate resttemplate = new resttemplate();
// 设置请求头,指定content-type为application/json
httpheaders headers = new httpheaders();
headers.setcontenttype(mediatype.application_json);
// headers.setcontenttype(mediatype.application_json_utf8);
headers.set("sign", sign);
// 将解析后的 json 对象转换为 multivaluemap
httpentity<map<string, object>> requestentity = new httpentity<>(map, headers);
responseentity<string> exchange = resttemplate.exchange("https://ip:8080/userpricepay", httpmethod.post, requestentity, string.class);
return jsonobject.parseobject(exchange.getbody());
}到此这篇关于springboot发送request请求的方式小结的文章就介绍到这了,更多相关springboot发送request请求内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论