Tag: spring data rest

使用Spring Data REST时如何更改Jacksons Configuration?

我正在尝试配置Jackson以ISO 8601格式显示JSR 310瞬间。 @Configuration class Jackson { @Bean static ObjectMapper objectMapper() { ObjectMapper objectMapper = new ObjectMapper().findAndRegisterModules(); objectMapper.disable( SerializationFeature.WRITE_DATES_AS_TIMESTAMPS ); return objectMapper; } } 然而,这不是一个独特的Bean,实际上我只想禁用这一个设置。 所以我真的不想创建ObjectMapper,就像在其上指定一个设置一样。 java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.boot.actuate.autoconfigure.EndpointWebMvcHypermediaManagementContextConfiguration$MvcEndpointAdvice’: Injection of autowired dependencies failed; nested exception is […]

PUT和POST在未知属性上失败Spring不同的行为

我正在使用Spring Data Rest存储库编写Spring Boot应用程序,如果请求主体包含具有未知属性的JSON,我想拒绝访问资源。 简化实体和存储库的定义: @Entity public class Person{ @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String firstName; private String lastName; /* getters and setters */ } @RepositoryRestResource(collectionResourceRel = “people”, path = “people”) public interface PersonRepository extends CrudRepository {} 我使用Jackson的反序列化function来禁止JSON中的未知属性。 @Bean public Jackson2ObjectMapperBuilder objectMapperBuilder(){ Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); builder.failOnUnknownProperties(true); return builder; } 当我发送POST请求时,一切都按预期工作。 […]

spring-data-rest集成测试因简单的json请求而失败

我的spring-data-rest集成测试因简单的json请求而失败。 考虑下面的jpa模型 Order.java public class Order { @Id @GeneratedValue// private Long id; @ManyToOne(fetch = FetchType.LAZY)// private Person creator; private String type; public Order(Person creator) { this.creator = creator; } // getters and setters } Person.java ic class Person { @Id @GeneratedValue private Long id; @Description(“A person’s first name”) // private String firstName; @Description(“A person’s last […]

最新版本和旧版本冲突的两个Maven依赖关系

我在这里使用spring-data-dynamoDB项目,根据它的pom.xml,他们使用了aws-java-sdk的 1.6.9.1版本,但我需要使用最新版本的aws-java-sdk来实现我的项目它的function也实现了amazon s3。 如果我包含它的依赖, com.amazonaws aws-java-sdk 1.7.9 我得到如下例外, 12:51:25.298 [main] DEBUG osbfsDefaultListableBeanFactory – Retrieved dependent beans for bean ‘(inner bean)’: [_relProvider] 12:51:25.307 [main] ERROR oswcContextLoader – Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘org.springframework.hateoas.config.HypermediaSupportBeanDefinitionRegistrar$Jackson2ModuleRegisteringBeanPostProcessor#0’: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘_halObjectMapper’: Instantiation of bean failed; nested […]

如何将列表发布到Spring Data Rest?

我按照这个例子 ,它允许发布一个唯一的Person对象。 我想要一个REST服务,我可以在其中一次发布Person的集合,例如,列表/任何名为Team集合,只需一次调用即可拥有多个Person对象。 我的意思是,我的问题并不完全是关于OneToMany关系,你在REST请求中发送每个人。 这个话题得到了很好的回答 我想发送一组Person对象,利用@RepositoryRestResource或Spring Data Rest的其他function。 这可以通过Spring Data Rest实现,还是应该通过创建控制器来解决,接收列表并解析Team列表以插入每个Person ? 我发现了这个function请求 ,似乎回答说现在Spring Rest Data缺少我想要的东西,但我不确定。 在我的业务需求中,应用程序A会将一个订单列表发布到应用程序B,我必须将其保存在数据库中以备将来处理,因此,在阅读了Spring Data Rest并做了一些示例之后,我发现它的干净架构非常棒,非常适合对于我的要求,除了我没有弄清楚如何发布列表的事实。

Spring MVC中的自定义HTTP方法

我正在尝试为处理COPY HTTP方法的资源创建自定义Spring MVC控制器。 @RequestMapping仅接受以下RequestMethod值:GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS和TRACE。 在Spring MVC Controller中是否有任何推荐的处理自定义HTTP方法的方法?

Spring Data Rest PagingAndSortingRepository AbstractMethodError(RepositoryFactorySupport)

我正在尝试使用Spring Data Rest构建Rest Api,在多次更改我的pom.xml以找到与我的项目兼容的依赖项之后,我现在遇到了这个问题: java.lang.AbstractMethodError: org.springframework.data.repository.core.support.RepositoryFactorySupport.getTargetRepository(Lorg/springframework/data/repository/core/RepositoryInformation;)Ljava/lang/Object; 很久以前 … 我有一个Java Config Web App,我的JPAConfig有这些注释 @Configuration //@EnableJpaRepositories(“com.protect.inf.jpa.repositories”) @EnableJpaRepositories @EnableTransactionManagement public class JPAConfig { … } 请参阅@EnableJpaRepositories注释,如果我没有将包名称设置为我的Repositories类,则应用程序启动正常,但是当我向api发出请求时,响应如下所示: { _links: { profile: { href: “http://localhost:8080/protect-inf-01/api/profile” }- }- } 它没有暴露我的Reposurl。 我的Repos类看起来像这样 @RestResource(path = “users”, rel = “users”) public interface UsuariosRepository extends PagingAndSortingRepository{ Usuarios findByEmail(String email); } 然后 … 当我将包名称设置为@EnableRepositories注释@EnableJpaRepositories(“com.protect.inf.jpa.repositories”) ,应用程序启动失败,并显示以下错误: Error […]

Spring Data Rest:返回用户资源

我正在使用Spring Boot和Spring Data Rest创建一个简单的CRUD-App(购物清单)。 我有一个资源: ShoppingItem 。 是否有一种简单的方法只返回属于发送请求的用户的资源? (多用户支持)因此,用户只能获得自己的ShoppingItems而不是每个ShoppingItem。 或者我必须自己实现一个控制器,我这样做? 我发现基于用户这种方法的Spring Data REST过滤数据可以根据用户过滤资源,但这对我的存储库端点没有帮助。 提前致谢

修改Spring Data REST投影背后生成的SQL查询

编辑:如何只在SELECT中保留所需的列以进行Spring Data Rest Projections? Spring Data Rest Projections适用于为生成的链接获取列的子集,但在后面生成的Query仍然包含其中的所有列。 如何创建预测,其中SQL查询只有SELECT中的那些列在Projection中

在spring-data项目中使用@Version

我一直在研究一个带有spring-data的RESTful web服务。 几天前,发布了一个特殊的spring-data jpa REST框架。 现在我注意到在这个框架中使用@Version的能力。 此版本是由自己生成还是您需要手动执行此操作? 它可以自己使用@Version吗? (这样我就不必将任何内容更改为现有的存储库/域等…) 我是否需要做一些额外的配置来使用@Version?