首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在将应用程序迁移到Spring Boot之后使用Spring Data Rest时,我观察到带有@Id的实体属性不再编组到JSON

在将应用程序迁移到Spring Boot之后使用Spring Data Rest时,我观察到带有@Id的实体属性不再编组到JSON
EN

Stack Overflow用户
提问于 2014-07-24 22:34:10
回答 2查看 10.1K关注 0票数 21

此问题与SO问题(Spring boot @ResponseBody doesn't serialize entity id)相关。我观察到,在将应用程序迁移到Spring Boot并使用spring-boot-starter-data-rest依赖项后,我的实体@Id字段不再编组到生成的JSON中。

这是我的请求映射,在调试时,我可以看到数据在返回之前没有改变,所以@Id属性稍后会被剥离。

代码语言:javascript
复制
@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;
}

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

谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2015-09-30 02:38:59

从Spring Data Rest 2.4开始(如果使用spring-boot 1.3.0.M5,这是一个可传递的依赖),您可以使用RepositoryRestConfigurerAdapter。例如,

代码语言:javascript
复制
@Configuration
class SpringDataRestConfig {

    @Bean
    public RepositoryRestConfigurer repositoryRestConfigurer() {

        return new RepositoryRestConfigurerAdapter() {
            @Override
            public void configureRepositoryRestConfiguration(
                                 RepositoryRestConfiguration config) {
                config.exposeIdsFor(Class1.class, Class2.class);
            }
        }

    }

}
票数 20
EN

Stack Overflow用户

发布于 2018-02-05 03:38:19

放入@getter,@setters,它将暴露给json结果,希望它能帮助你。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24936636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档