如何在 Java RS json 响应中为简单列表类型设置自定义名称



>如果实体只是一个列表令牌列表 那么这条线

return Response.status(Response.Status.OK).entity(tokenList).build();

会回来

{ "数组列表": [ "c2171488" ] }

如果我更改为

GenericEntity entity = new GenericEntity<List<String>>(tokenList) {}

我得到了

{ "列表": [ "c2171488" ] }

我想要的只是将 JSON 响应中的名称更改为"令牌",所以它应该看起来像

{ "令牌": [ "c2171488" ] }

有没有简单的方法可以做到这一点?

ResponseBuilder 实体函数有一个带有 Annoation 的变体,但是我找不到任何示例。 https://docs.oracle.com/javaee/7/api/javax/ws/rs/core/Response.ResponseBuilder.html#entity-java.lang.Object-java.lang.annotation.Annotation:A-

return Response.status(Response.Status.OK)
.entity(Collections.singletonMap("Token", tokenList).build()

找到了解决方案

字符串结果 = objectMapper.writeValueAsString(Collections.singletonMap("Token", tokenIdList((; 返回 Response.status(Response.Status.OK(.entity(results(.build((;

最新更新