当前位置: 首页 > 知识库问答 >
问题:

在将应用程序迁移到Spring Boot后使用Spring Data Rest时,我观察到具有@id的实体属性不再被封送到JSON

聂鹏云
2023-03-14

这个问题与这个SO问题相关(Spring boot@ResponseBody不序列化实体id)。我注意到,在将应用程序迁移到Spring Boot并使用spring-boot-starter-data-rest依赖项之后,我的entity@id字段不再在生成的JSON中封送。

这是我的请求映射,在调试时,我可以看到数据在返回之前没有被更改,因此@id属性稍后会被删除。

@RequestMapping(method = RequestMethod.GET, produces = {"application/json"})
public PagedResources<Receipt> receipts(Pageable pageable, PagedResourcesAssembler assembler) {
    Page<Receipt> receipts = receiptRepository.findByStorerAndCreatedDateGreaterThanEqual("003845", createdStartDate, pageable);
    PagedResources<Receipt> pagedResources = assembler.toResource(receipts, receiptResourceAssembler);
    return pagedResources;
}

是否有一个设置允许我在生成的JSON中保留@id字段,因为我的应用程序允许用户根据该值进行搜索。

谢谢:)

共有1个答案

孟雪风
2023-03-14

默认情况下,Spring Data Rest不输出ID。但是,您可以通过exposeIdsFor(..)有选择地启用它方法。您可以在配置中这样做,如下所示

@Configuration
public static class RepositoryConfig extends
        RepositoryRestMvcConfiguration {

    @Override
    protected void configureRepositoryRestConfiguration(
            RepositoryRestConfiguration config) {
        config.exposeIdsFor(Class1.class, Class2.class);
    }
}
 类似资料:
  • 问题内容: 这个问题与此SO问题有关(Spring boot @ResponseBody不会序列化实体id)。我观察到,在将应用程序迁移到Spring Boot并使用spring-boot-starter-data-rest依赖关系之后,我的实体@Id字段不再编组到结果JSON中。 这是我的请求映射,在调试时,我可以看到数据在返回之前没有被更改,因此稍后将删除@Id属性。 是否有一个设置可以让我将

  • 问题内容: 这个问题与此SO问题有关(Springboot@ResponseBody不会序列化实体id)。我观察到,将应用程序迁移到Spring Boot并使用spring-boot-starter-data-rest依赖关系后,我的实体@Id字段不再编组到结果JSON中。 这是我的请求映射,在调试时,我可以看到数据在返回之前没有被更改,因此稍后会删除@Id属性。 是否有一个设置可以让我将@Id字

  • 在一个spring boot应用程序中,我用webclient给ms打了一个电话 响应实体响应 = webClient.post() .uri(“/auth/login”) .body(Mono.just(loginRequest), LoginDto.class) .retrieve() .toEntity(LoginResponse.class) .block(); 在我把角色放到一个集合中之

  • 我试图在Heroku上推动我的Spring Boot应用程序,我得到了一个错误:未能用Maven构建应用程序,即未能执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:compile(default-compile)on project BlogApplication:致命错误编译:无效的目标版本:11。 日志: pom.xml

  • 我正在探索将java web应用程序移动到Azure应用程序服务的可能性。应用程序on prem在启动时读取属性文件。 是否有可能将属性文件传递或放置到应用服务?如果没有,建议将此类遗留应用程序移动到Azure应用服务?

  • 我想把我的项目换成基于spring的产品。 我的第一步是将我的java web应用程序从一个生成的WAR文件转换成一个独立的可执行jar,它由Spring引导驱动。 让我们从GITHUB获取一个开源Web应用示例。vaadinspringweb应用程序 网络。xml文件可以在这里找到。 根上下文文件可以在这里找到。 我希望有一些指导我执行转换。 我还提交了Spring启动项目中的一个问题。