无需使用响应bean即可休息API消耗

时间:2018-07-31 06:47:54

标签: java spring rest spring-boot

我想使用一个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

2 个答案:

答案 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(); } ],