首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止spring-data-rest解析json

防止spring-data-rest解析json
EN

Stack Overflow用户
提问于 2017-06-04 17:41:47
回答 1查看 717关注 0票数 1

我想将post请求作为字符串存储在数据库中,使用spring rest和spring jpa。问题是spring试图将json请求体转换为对象。我能阻止这种事发生吗?我是否可以将spring配置为将请求体保存为字符串?

下面是实体和存储库。

实体

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

仓库

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

任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-04 17:57:31

问题是spring试图将json请求体转换为对象。

Spring数据REST的主要思想是将JSON直接转换为ORM机制的一个实例。如果有可能,这些原始数据将保存在哪里?

我能阻止这种事发生吗?

不,您不能(至少,通过Spring数据REST模块)。

spring是否可以将spring配置为将请求主体保存为字符串?

您可以使用普通的Spring控制器将请求委托给REST存储库,但在它处理原始数据之前(例如将其保存到另一个表)。

@RestResource(exported = false)意味着将该方法排除在API之外,它不会影响方法行为(如果您试图将它用于此类目的)。

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

https://stackoverflow.com/questions/44357023

复制
相关文章

相似问题

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