给定此存储库
@RepositoryRestResource( path = "u", itemResourceRel="ui", collectionResourceRel = "us")
public interface IUserRepository extends CrudRepository<Users, Long> {
}
当我通过控制器调用服务方法findAllUsers()
时。我将实体列表结果(由免费提供的userRepository.findAll()
方法返回)转换为域模型对象列表。这个域模型对象列表将被正确反序列化到JSON,因为我正在控制如何进行反序列化。我这样做有一个具体的原因,请参见下文。
现在,如果我想直接使用userrepository
,那么在序列化过程中我会遇到一个循环,因为被反序列化的对象来自com.vividsolutions.jts.geom.geomethory
库。该类包含如下所述的方法
Geometry getEnvelope() Returns this Geometrys bounding box.
在反序列化过程中,jackson遇到了一个循环,因为它。我能够纠正控制器内的反序列化过程。如何拦截crudrepository
中的反序列化?
我想到的第一个想法是创建我的接口的实现并覆盖所有方法,但这违背了做boile-plate代码的目的。
您展示了@repositoryrestresource
的用法,我假设您正在使用Spring Data REST导出存储库。有关标准Spring MVC封送处理配置,请参阅参考文档。
准确地说,您没有拦截存储库。Spring Data REST使用Jackson来封送和取消封送响应和请求。因此,您只需自定义SD REST将使用的Jacksonobjectmapper
。为此,扩展RepositoryRestMvcConfiguration
并重写ConfigureJacksonObjectMapper(…)
:
class MyConfiguration extends RepositoryRestMvcConfiguration {
protected void configureJacksonObjectMapper(ObjectMapper mapper) {
// register custom serialializers, modules etc.
}
}
对于一般的自定义选项,请查看Jackson参考文档。
我使用Spring靴,希望提高性能。我必须下载数据库中有50000个字段的文件。使用hibernate。我在批量插入中找到了解决方案。但我不知道如何从Crudepository获得entitymanager 我创建了MyStorageService并想保存我的文件: } 如果在MyStorageService中使用 我明白了 错误[http-nio-18842-exec-1]JpaTransact
问题内容: 我正在使用dgrijalva / jwt-go /软件包。 我想从令牌中提取有效载荷,但是我找不到方法。 示例(摘自:https : //jwt.io/): 对于编码: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOixMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydhVrF7H
我有以下代码: 但当我试着去看测试的内容时,我看到了这个 如果我试图看到什么是在任何项目的数组我得到一个错误: 有人能解释一下我做错了什么,正确的方法是什么吗? Visual Studio 2022, Blazor Webassup,.NET6.0 谢谢
在新的反射API中,属性是访问类型上声明的成员(字段、属性、方法等)的正确方法。但是,这些属性不包括从基类继承的成员。 旧的方法返回声明的和继承的成员,但并非在所有平台上都可用,包括。净核心。 如何使用新API获取已声明和继承成员的列表?
我对java.sql.Statement的方法getGeneratedKeys()有问题 首先我的代码: 创造sql:(HSQLDB) 从DAO创建方法: 然后,我对生成的密钥进行了单元测试: 当我运行测试时,我得到一个失败和以下日志: 所以问题是
问题内容: 我正在使用Python在Python中生成XML文档,但是在转换为纯文本时,该函数不包含XML声明。 我需要我的字符串包含以下XML声明: 但是,似乎没有任何记录的方式来执行此操作。 有没有合适的方法来呈现XML声明? 问题答案: 我很惊讶地发现似乎没有办法。但是,您可以用来将XML文档写入伪文件: 看到这个问题。即使那样,我认为如果不自己编写,就无法获得“独立”属性。