公寓模式
public long Id { get; set; }
public int ApartmentNumber { get; set; }
public int FloorNumber { get; set; }
public int NumberofRooms { get; set; }
public int NumberofResidents { get; set; }
public decimal FullArea { get; set; }
public decimal LivingSpace { get; set; }
public long HouseId { get; set; }
public House House { get; set; }
public ICollection<Tenant> Tenants { get; set; }房屋模型
public long Id { get; set; }
public int Number { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string Country { get; set; }
public string Postcode { get; set; }
public ICollection<Apartment> Apartments { get; set; }我知道,为了使它在"/api/house/{houseId}/apartments“中可用,您需要添加路由,对吗?但我不完全明白如何使它归还特定房屋的公寓,根据房屋的Id。这种方法应该定位在哪个控制器中?
[Route("/api/house/{houseId}/apartments")]
[HttpGet("{id}")]
public async Task<ActionResult<Apartment>> GetApartment(long id)
{
var HouseId= await _context.Apartments.FindAsync(id);
if (HouseId == null)
{
return NotFound();
}
return HouseId;
}发布于 2022-09-21 09:51:34
控制器的外观如下所示:
[ApiController]
[Route("api/[controller]")]
public class HouseController : ControllerBase
{
[HttpGet("{houseId}/apartments")]
public async Task<ActionResult<IEnumerable<Apartment>>> GetApartments(int houseId)
{
var house = await _context.Houses
.Include(house => house.Apartments)
.FirstOrDefaultAsync(house => house.Id == houseId);
if (house == null)
{
// the house with Id=houseId does not exist so we return NotFound
return NotFound();
}
// the house was found so return its apartments
return house.Apartments.ToList();
}
}发布于 2022-09-21 09:15:25
修改您的api如下:
[Route("/api/house/{houseId}/apartments")]
[HttpGet]
public ActionResult<Apartment> GetApartment(int houseId)
{
return Ok();
}您现在可以将houseid传递给控制器,并且可以在控制器中尝试以下代码:
var targetapartments= await _context.Apartments.Where(x.HouseId==houseId).ToList();https://stackoverflow.com/questions/73796331
复制相似问题