RestTemplateクラスを使用してすべてのユーザーを取得していますが、クライアントでMainを実行するとエラーが発生するのはなぜですか?スレッド "メイン" とjava.lang.ClassCastExceptionでRestTemplateを使用したSpring Resfulクライアント
例外: java.util.LinkedHashMapは edu.java.springで edu.java.spring.service.user.model.Userにキャストすることはできません。 service.client.RestClientTest.main(RestClientTest.java:33)
ここではUserRestServiceController.java
RestClientTest.java
public class RestClientTest {
public static void main(String[] args) throws IOException{
List<User> users = getUsers();
for (int i = 0; i < users.size(); i++) {
System.out.println("Rest Response" + loadUser(users.get(i).getUserName()));
}
}
public static List<User> getUsers(){
String uri = new String("http://localhost:8080/rest/user/list");
RestTemplate rt = new RestTemplate();
return (List<User>) rt.getForObject(uri,List.class);
}
public static String loadUser(String username) throws IOException {
String url = "http://localhost:8080/rest/user/json/" + username;
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Accept", "application/json");
InputStream stream = con.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
}
を提出します
@Controller
public class UserRestServiceController {
@Autowired
public UserDao userDao;
@Autowired
public View jsonTemplate;
@RequestMapping(value = "/rest/user/list", produces = MediaType.APPLICATION_JSON_VALUE,method = RequestMethod.GET)
public @ResponseBody List<User> getUsers(){
return userDao.listUsers();
}
@RequestMapping(value="/rest/user/json/{username}")
public ModelAndView loadUser(@PathVariable("username")String name){
return new ModelAndView(jsonTemplate,"data",userDao.loadUser(name));
}
どの行が正確に33行目ですか? – dunni
@dunni、for for function。 –
次に、http:// localhost:8080 /にマップされているコントローラーをポストしてください。 "System.out.println(" Restレスポンス "+ loadUser(users.get(i).getUserName())) rest/user/json/"+ username? – dunni