弹簧靴暴露ID [重复]

Posted

技术标签:

【中文标题】弹簧靴暴露ID [重复]【英文标题】:spring boot expose id [duplicate] 【发布时间】:2018-04-09 01:42:22 【问题描述】:

我有这个 Spring Java 类

@Entity
public class Person 

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String firstName;
    private String lastName;

    //getters and setters here

它输出我以下的响应


  "_embedded" : 
    "people" : [ 
      "firstName" : "John",
      "lastName" : "Dean",
      "_links" : 
        "self" : 
          "href" : "http://localhost:8060/people/1"
        ,
        "person" : 
          "href" : "http://localhost:8060/people/1"
        
      
    ,

但我也想看看要暴露的 id,怎么做?

这没有帮助How to expose the resourceId with Spring Data Rest

【问题讨论】:

一个简单的解决方案是使用 DTO 并将您的 DTO 暴露给外界。这样您就不会耦合应用程序的不同层 DTO 听起来不错。但可能有点多。在我的 vue.js 前端,我还想使用这些 ID 导航,所以 myfrontendip/people/1 所以 DTO 可能太多了 【参考方案1】:

This guy 按我的意愿回答,感谢您的帮助。

当使用 Spring Data REST 时,它有专门为此设计的东西。有 Projections and Excerpts 的概念,您可以指定要返回的内容和方式。

@Projection(name="personSummary", types=Person.class)
public interface PersonSummary 
    String getEmail();
    String getId();
    String getName();

【讨论】:

以上是关于弹簧靴暴露ID [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在百里香弹簧靴中填充选择元素?

将规范化的 Postgres 视图映射到实体 |弹簧靴

在身份验证过滤器中添加自定义声明。在过滤器中获取用户 ID。弹簧靴

如何通过带有弹簧靴的邮递员操作数据

弹簧靴服务角度

弹簧靴。 CORS。 'allowCredentials = false' 不起作用