![](/img/trans.png)
[英]rest api - how to send body parameters of postman in rest api call
[英]How to make Rest Api call with parameters in spring
我正在我的春季项目中进行休息 api 调用。 网址是: https : //testinfo.com/user-api/rest/userinfo?uploadStartTime=1476882000&uploadEndTime=1476907200
这是我的代码:
public String getUserData(String uplaodStartTime,String uplaodEndTime) throws IOException{
String user_url = https://testinfo.com/user-api/rest/userinfo
String url = user_url + "?" + "uploadStartTime" + "=" +uplaodStartTime + "&"
+ "uploadEndTime" + "=" + uplaodEndTime;
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
}
有没有最好的方法可以在不硬编码 url 参数的情况下进行 rest api 调用?
如何使用RestTemplate?
final String uri = "http://localhost:8080/project/test";
RestTemplate rt = new RestTemplate();
String result = rt.getForObject(uri, String.class);
System.out.println(result);
如果有任何参数,请使用映射对象。
final String uri = "http://localhost:8080/project/test";
RestTemplate rt = new RestTemplate();
AnyVO any = new AnyVO(1, "Adam", "010-1234-1234", "test@email.com");
AnyVO result = rt.postForObject( uri, any, AnyVO.class);
System.out.println(result);
准备:
RestTemplate rt = new RestTemplate(); // this can be static for performance
String url = "https://host:port/path1/path2?stringVar1=
{var1value}&floatVar2={var2value}";
然后,方式 A,按顺序将值嵌入到 url 中:
MyClass result = rt.getForObject(url, MyClass.class, "SomeString", 123.4f);
或者,方式 B,用它们的键替换 url 中的值:
Map<String, Object> params = new HashMap<>(2);
params.put("var1value", "SomeString");
params.put("var2value", 123.4f);
MyClass result = rt.getForObject(url, MyClass.class, params);
在这两种情况下, url 都变为https://host:port/path1/path2?stringVar1=SomeString&floatVar2=123.4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.