gpt4 book ai didi

java - RestTemplate 不适用于参数 (URL, Request,Class)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:20 24 4
gpt4 key购买 nike

我无法使用 RestTemplate 发布 请求。在线显示以下错误

The method postForObject(URI, Object, Class<T>) in the type RestTemplate is 
not applicable for the arguments (URL, Request,
Class<String>)

代码

        URL url = new URL("http://testnl.etbxml.com/api");
Authentication auth = new Authentication("Test", "test");
auth.setFunction("SearchAvailability");

Request req = new Request("test");
req.setAuth(auth);
req.setCityid(23);
req.setStartdate("2015-11-20");
req.setEnddate("2015-11-29");
req.setRating(4);
req.setNoofpersons(2);
req.setLanguage("en");
req.setCurrency("EUR");
req.setCustomerIP(MY_IP);
req.setAuth(auth);

RestTemplate restTemplate = new RestTemplate();
//restTemplate.getMessageConverters().add(new FormHttpMessageConverter());
//restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
//String response = restTemplate.postForObject(url, req, EasyToBook.class);
//Line 21
Easytobook ea = restTemplate.postForObject(url, req, String.class);

auth.setFunction("SearchAvailability");

最佳答案

您正在使用 URL实例,但 RestTemplate 需要类型为 URI 的对象.

只需替换这一行:

URL url = new URL("http://testnl.etbxml.com/api");

用这一行:

URI url = new URI("http://testnl.etbxml.com/api");

这应该可以解决问题。

关于java - RestTemplate 不适用于参数 (URL, Request,Class<String>),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474279/

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