我想使用一个rest服务,该服务返回一堆值。 Bean如下所示。
Class Customer{
Name, Address, Age ---etc // Almost 200 fields are there. Including reference to many objects as well. So it is very hard to create a bean for accepting the response.
}
是否有其他替代方法可以消耗响应。
Customer customer = restTemplate.getForObject(http://testurl);
这不是我所需要的。我需要任何其他方式来使用服务而不创建bean。
使用Spring Boot Java 8
答案 0 :(得分:2)
如果您不想创建重量级的DTO,则可能要尝试在客户端获取JSONObject。大致情况:
String str = restTemplate.getForObject("http://testurl", String.class);
JSONObject myCustomer = new JSONObject(str);
String name = myCustomer.getString("name");
JSONObject address = myCustomer.getJSONObject("address"); // if address is a composite object with city, street, etc...
答案 1 :(得分:1)
您可以获取JSON格式的响应,并使用JSONObject类提取数据。
例:
[
'allow' => true,
'actions' => ['index', 'update', 'view', 'logout'],
'roles' => ['@'],
'matchCallback' => function($rule, $action){
return Yii::$app->user->identity->belongsToGroup();
}
],