我发现,如果您将字段命名为“”,如果您有一个公共 getter for the ,它将显示在 JSON 中。Id 将显示为名为 ' 的 JSON 密钥@Id
Id
Id
id
'
例如:@Id @Column(name="PERSON_ROLE_ID") private Long Id;
这也适用于名为“”的字段,只要它有一个公共获取器。在这种情况下,Id 的字段将显示为 JSON 对象。@EmbeddedId
Id
例如:@EmbeddedId private PrimaryKey Id;
令人惊讶的是,这是区分大小写的,调用id ''不起作用,即使它是Java字段的更常规名称。id
我应该说,我完全偶然发现了这一点,所以我不知道这是否是一个公认的约定,或者是否适用于Spring Data和REST的以前或未来版本。因此,我已经包括了我的maven pom的相关部分,以防它对版本敏感......
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>