زي ما عرفنا اننا ممكن نحل مشكلة الـ Loop
اني اعمل AddressDto
فمش هيبقا جواه User فمفيش Navigational Property
فيه طرق تانية:
في بروجكت الـ API ننزل Package اسمها NewtonsoftJson
نروح في الـ main
builder.Services.AddControllers().AddNewtonsoftJson(options =>
{
options.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
// Default: Error
})
// Endpoint
public async Task<ActionResult<Address>> GetUserAddress()
{
var user = await _userManager.FindUserWithAddressAsync(User);
return Ok(user.Address);
}
الـ Documentation بتاع Swagger هتبوظ الطريقة دي مش احسن حاجة وقديمة فبلاش
أو اروح في الـ Address على الـ User وعند الـ User بعمل Ignore للـ Address
// Address
[JsonIgnore]
public AppUser User { get; set; }
// User
[JsonIgnore]
public Address Address {get; set;}
ودا الحل التاني اللي هيحللي المشكلة برضو بس برضو Swagger مش هيفهم فأنسب حل هو الـ Dto