![](/img/trans.png)
[英]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.