簡體   English   中英

ASP.NET Core中關於GET請求的不完整JSON數據

[英]Incomplete JSON data on GET request in ASP.NET Core

為什么我不能通過鏈接獲取所有數據https:// localhost:XXXXX / api / comments (GET請求)更新后的頁面數據不再出現..

響應:[{“id”:1,“text”:“Comment1”,“userId”:1,“parentCommentId”:null,“user”:null,“parentComment”:null,“childrenComments”:null},{ “ID”:2 “文本”: “注釋2”, “用戶id”:1, “parentCommentId”:1, “用戶”:NULL, “parentComment”:{ “ID”:1, “文本”: “注釋1” “用戶id”:1, “parentCommentId”:NULL, “用戶”:NULL, “parentComment”:NULL, “childrenComments”:[

不加載下屬項目。我做錯了什么?

// GET: api/Comments
[HttpGet]
public IEnumerable<Comment> GetComments()
{
    return _context.Comments;
}

您還必須加載關系。 這樣做的兩種主要方式是通過Include或延遲加載來加載。 但是,一般應該避免延遲加載,尤其是在這種情況下。 當您序列化對象時,最終可能會在懶惰加載時無意中發出數百甚至數千個查詢。

長和短,為您關心的關系添加Include子句:

return _context.Comments
    .Include(x => x.User)
    .Include(x => x.parentComment)
    .Include(x => x.childrenComments);

如果您想要更多靈活性,可以使用OData或GraphQL。 要么允許客戶選擇性地包含他們想要/需要的關系,這意味着您不一定每次都需要加入所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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