gpt4 book ai didi

java - 如何在spring中使用参数进行Rest Api调用

转载 作者:行者123 更新时间:2023-12-01 09:21:09 27 4
gpt4 key购买 nike

我正在我的 Spring 项目中进行 REST 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);

关于java - 如何在spring中使用参数进行Rest Api调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40160366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com