我使用包含屬性的JSON對象從客戶端向Spring Framework後端發送HTTP請求,該屬性是另一個對象的ID。如何使用@RequestBody註釋映射JSON數據
@RequestBody不知道如何處理這個引用,並給我提供了無效的請求。
我讀過我可以爲我的課程創建一個自定義映射器。這是唯一的 解決方案還是我需要一些註釋?
如果自定義映射器是單一解決方案,您可以舉個例子嗎?
我的代碼示例:
public class Book {
@Id
private String id;
@DBRef
private Author author;
private String name;
//getters and setters
}
控制器:
...
@RequestMapping("/book")
private Book book(@RequestBody Book book) {
//code
}
...
的JSON通過客戶端發送:
{'name': 'something', 'author': '55422e51dcca4511fd8a0ffc'}
如果作者是它的ID。
Spring可以在開箱即用的情況下執行Json to Object編組,但您必須確保正確配置您的應用程序上下文。您需要註冊一個Json轉換器,例如MappingJacksonHttpMessageConverter。如果您使用註釋來配置應用程序,只需將EnableWebMvc添加到您的配置類,並將RestController添加到您的控制器。 –