【发布时间】:2015-05-10 08:45:02
【问题描述】:
我正在尝试 Spring Data REST 的示例,但是在我的测试中返回的 JSON 对象不返回列名(之前是“PUT”),而只是返回到对象的链接。有什么问题?
场景:
实体:“用户”
@Entity
@Data
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String guid;
private String fullName;
private String email;
}
存储库:UserRepository(公开为 REST 服务)
@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UserRepository extends JpaRepository<User, Long> {
}
创建 USER 对象的 REST 'PUT' 请求:
REST GET 调用以获取用户对象的 JSON 响应(问题)
JSON 响应中没有返回 id、Guid 或电子邮件。
【问题讨论】:
-
您尝试(通过 PUT)更新 id=1 的实体 id=3 是否正常? /users/ 给了你什么?
-
@nKognito 请忽略屏幕截图,我已经用正确的值运行了几次(方法=Post,id=1,entityid=1),结果相同。 /users/ 给了我带有“链接”到所有元素但没有名称、电子邮件属性的 JSON。
-
尝试通过配置开启exposeIds选项。让我们看看它是否至少会返回实体的标识符
-
并尝试删除 lombok 的 @Data - 也许它会以某种方式影响...
-
@nKognito 删除 lombok 的数据就可以了。感谢您的指点。令人遗憾的是,龙目岛有这个问题。在 lombok 上提出一个错误(没有发现它是一个已知问题)。
标签: json spring rest spring-data-jpa spring-data-rest