我有一个用Java编写的Spring REST服务,它提供了地理数据:
@RestController
public class GeoDataController {
...
@RequestMapping(path="/alldata", produces="application/json")
public Iterable<GeoData> getGeoData() {
ArrayList<Greeting> data = ...
return data;
}
@RequestMapping(path="/data/{id}", produces="application/json")
public GeoData getGeoData(@PathVariable("id") String id) {
Greeting data = ...
return data;
}
}
还有另一项服务会使用此数据
private GeoData getGreetingFor(RestTemplate template, String id) {
String url = makeRequestUrl(id);
return template.getForObject(url, GeoData.class);
}
...
此代码有效,但存在一个问题-GeoData对象及其列表可能很大-几千字节。 因此,解决方案是在生产者应用程序中压缩JSON数据,然后在消费者应用程序中解压缩此流。 我绝对不是Java新手,也不知道该怎么做。有人可以建议吗?