簡體   English   中英

防止spring-data-rest解析json

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM