[英]How to prevent json output of relTargetType in spring-data-rest?
[英]Prevent spring-data-rest from parsing json
我想使用spring-data-rest和spring-data-jpa将post请求作为字符串存储在数据库中。 问题是spring尝试将json请求体转换为对象。 我可以防止这种情况发生吗? 我可以配置spring以将请求体保存为String吗?
下面是实体和存储库。
实体
@Entity
public class DatabaseRecord {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String json;
public DatabaseRecord(String json) {
this.json = json;
}
public Long getId() {
return id;
}
public String getJson() {
return json;
}
}
知识库
public interface ExampleRepository extends CrudRepository<DatabaseRecord, Integer> {
@Override
@RestResource(exported = false)
void delete(Integer integer);
@Override
@RestResource(exported = false)
void delete(DatabaseRecord record);
@Override
@RestResource(exported = false)
void delete(Iterable<? extends DatabaseRecord> iterable);
@Override
@RestResource(exported = false)
void deleteAll();
}
任何帮助将非常感激。
谢谢。
问题是spring尝试将json请求体转换为对象。
它是Spring Data REST的主要思想 - 将JSON直接转换为ORM机制持久化的实例。 如果可能,这个原始数据将保存在哪里?
我可以防止这种情况发生吗?
不,你不能(至少通过Spring Data REST模块)。
可以spring我配置spring将请求体保存为字符串吗?
您可以使用一个普通的Spring MVC控制器,它将请求委托给REST存储库,但在它处理原始数据之前(例如将其保存到另一个表中)。
行@RestResource(exported = false)
表示从API中排除方法,它不会影响方法行为(如果您尝试将其用于此类目的)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.