我试着序列化我的 Map<String, Map<MetricName, ? extends Metric>>
对象使用 Gson
但是我得到的是json字符串响应,而且我还有度量值和名称在里面 Map<MetricName, ? extends Metric>
我的代码如下:
@GetMapping(path = "/showRawKafkaMetrics", produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public List<String> getMetrics() throws IOException, ClassNotFoundException {
List<String> list = new ArrayList<>();
Gson gson = new Gson();
for (MessageListenerContainer container : kafkaListenerEndpointRegistry.getListenerContainers()){
list.add(gson.toJson(container.metrics()));
}
return list;
}
1条答案
按热度按时间8i9zcol21#
我得到了json字符串响应
好吧,你回来了
List<String>
如果您希望spring返回json,那么为application/json
(你做到了;produces = MediaType.APPLICATION_JSON_VALUE
)如果你希望得到这样的回应
那你就不能回来了
List<?>
因为那是一个物体/Map。理想情况下,应该为每个返回的类型提供一个具体的响应模型类。