我相new對于彈簧資料,jpa但我一直orm在typescript世界范圍內使用(typeorm/mikrorm)。我1-to-1 uni-directional在 aBook和 a之間有一個簡單的關系Picture。
我的書本
public class Book implements Serializable {
...
@JsonIgnore
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name="picture_id", nullable = false)
private Picture picture;
}
圖片物體
public class Picture implements Serializable {
....
@Id
private Long id;
@Column(nullable = false)
private String url;
}
所以我已經創建了我的服務并且我能夠將資料保存到資料庫中。對于我正在使用的mysql在本地機器上運行的資料庫。
在我的控制器中,GetMapping我想獲得帶有圖片的書,例如當我點擊服務器時,http//:127.0.0.1/api/v1/books/book/1我想得到以下回應:
郵差
{
"id": 4,
"title": "book1",
"picture":{
"id": 1,
"url": "url1"
}
}
相反,我收到以下回復:
{
"id": 4,
"title": "book1"
}
這是我在 中嘗試過的BookController.java,但似乎不起作用,在某些時候我沒有得到picture這本書的物件。
@RestController
@RequestMapping(path = "/api/v1/books")
@RequiredArgsConstructor
public class BookController {
private final BookService bookService;
private final PictureService pictureService;
....
@GetMapping("/book/{bookId}")
public ResponseEntity<Book> getBook(@PathVariable("bookId") Long bookId){
return ResponseEntity.status(200).body(this.bookService.getBook(bookId));
}
}
uj5u.com熱心網友回復:
那是因為您告訴杰克遜忽略該屬性。只需洗掉@JsonIgnore 注釋
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/321962.html
