java - REST - 如何在 javax.ws.rs.core.Response 实体中显示某些 getter

标签 java rest response

我想知道是否有任何方法可以通过 ResponseBuilder 仅显示具有该特定注释的那些方式来注释实体 getter。

目前我开发了一个 REST api,我有一个包含 6 个字段的实体,我只想在 GET 请求中显示其中的 3 个。我想到的唯一解决方案是在实体类上创建一个包装器,它只为我想在响应中显示的信息提供 getter。但在此之前,我想知道是否还有其他方法。

这就是我目前提供响应的方式。

Response.ok(device).build();

这就是我的实体的样子:

@Entity
@XmlRootElement
@IdClass(DevicePK.class)
public class Device implements Serializable {

private static long serialVersionUID = 1l;

@Id
private String deviceId;

private String ssoId;

@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;

@Temporal(TemporalType.TIMESTAMP)
private Date lastUpdateAt;

@Id
@Enumerated(EnumType.STRING)
private Platform platform;

@Temporal(TemporalType.TIMESTAMP)
private Date associationDate;

/**
 * @return the deviceId
 */
public String getDeviceId() {
    return deviceId;
}

/**
 * @param deviceId the deviceId to set
 */
public void setDeviceId(String deviceId) {
    this.deviceId = deviceId;
}

/**
 * @return the ssoId
 */
public String getSsoId() {
    return ssoId;
}

/**
 * @param ssoId the ssoId to set
 */
public void setSsoId(String ssoId) {
    this.ssoId = ssoId;
}

/**
 * @return the createdAt
 */

public Date getCreatedAtAsDate() {
    return createdAt;
}

/**
 * @param createdAt the createdAt to set
 */
public void setCreatedAt(Date createdAt) {
    this.createdAt = createdAt;
}

/**
 * @return the lastUpdateAt
 */
public String getLastUpdateAt() {
    return lastUpdateAt;
}

/**
 * @param lastUpdateAt the lastUpdateAt to set
 */
public void setLastUpdateAt(Date lastUpdateAt) {
    this.lastUpdateAt = lastUpdateAt;
}

/**
 * @return the platform
 */
public Platform getPlatform() {
    return platform;
}

/**
 * @param platform the platform to set
 */
public void setPlatform(Platform platform) {
    this.platform = platform;
}

/**
 * @return the associationDate
 */
public String getAssociationDate() {
    return associationDate;
}

/**
 * @param associationDate the associationDate to set
 */
public void setAssociationDate(Date associationDate) {
    this.associationDate = associationDate;
}

最佳答案

您应该使用 @XmlTransient 注释要从响应中排除的字段.

关于java - REST - 如何在 javax.ws.rs.core.Response 实体中显示某些 getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20075047/

相关文章:

Spark 作业中的 Java 堆利用率

javascript - Express服务器响应是一个流,如何使其成为字符串/json

python - 从python中的elasticsearch结果中获取准确的值

java - Cache search API 代码库的位置在哪里?它是开源的吗?

java - 将带有特殊字符的 JSON 反序列化为字符串

javascript - 为什么我的 ajax 请求会去掉 '\' 反斜杠字符?

java - 如何为 Web 应用程序编写一些独立的 Restful 测试

python - 为什么更新此查询时页面响应没有改变?

Java - 以未知顺序将元素添加到ArrayList

java - Spring boot Rest API嵌套JSON对象为空