java - Javax WS 响应在响应实体中添加“类型”
问题描述
我有一个用 Java WS 编写的端点。使用的 DTO 类如下:
public class MainResponseDTO extends PaginationResponseDTO {
private List<MainDTO> mainDTOs;
public List<MainDTO> getMainDTOs() {
return mainDTOs;
}
public void setMainDTOs(List<MainDTO> mainDTOs) {
this.mainDTOs = mainDTOs;
}
}
这个类扩展了一个 PaginationResponseDTO
public class PaginationResponseDTO {
private int page;
private int limit;
private long size;
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getLimit() {
return limit;
}
public void setLimit(int limit) {
this.limit = limit;
}
public long getSize() {
return size;
}
public void setSize(long size) {
this.size = size;
}
}
这就是我发送回复的方式。
@POST
@Path("/demo")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response getExpiredAndDueDocumentsWithPagination() {
MainResponseDTO response = new MainResponseDTO();
// Used this for diagnosis
logger.debug(new Gson().toJson(response));
return Response.ok().entity(response).build();
}
但是,访问上述 URL 的响应(通过 Postman 或 Curl)给出以下响应:
{
"type": "mainResponseDTO",
"limit": 0,
"page": 0,
"size": 0
}
我没有在任何一个 DTO 中使用“类型”属性,那么它是如何附加的。在返回响应之前,我还使用 GSON 记录了响应 DTO 的 JSON 字符串表示,如下所示。
{"page":0,"limit":0,"size":0}
“type”属性是如何进入响应的?我的方法哪里出错了?
如果问题中提供的详细信息不充分,请让我知道需要的其他详细信息。
解决方案
推荐阅读
- c# - XPath 查找在其间跳过未知层数的元素
- java - 如何在 Hibernate 投影中映射嵌套集合
- html - 如何使用 xpath 通过搜索该元素旁边的文本来定位该元素
- c# - Unity c# - 在 VN 风格游戏中管理角色精灵/图像
- javascript - 如何使用 jQuery 上传多个 PDF 文件?
- html - 如果太大,将 div 的内容分成多列
- java - 当两者都启用 mTLS 时,Spring Cloud Config Client 和 Server 存在先有鸡还是先有蛋的问题?
- flutter - 无法在 Flutter Personal Expenses App 中本地保存
- python-3.x - 如何使两个相同的networkx图具有相同的节点顺序
- python - Soap 请求在 Soapui 中运行良好,但在 python 中运行良好 - ZEEP - SUDS