Wpis z mikrobloga

Cześć wszystkim, mam takiego oto endpointa, jest to bardzo prosta sprawa. Nie do końca jednak rozumiem po co mappuje Automapperem drugi raz i wkładam zmienną mappedRoom do metody CreatedAtAction skoro mogę tam włożyć równie dobrze zmienną room i program też będzie działać, bo już to sprawdziłem.

Ogólnie jest to kod z kursu nt. web api. Ktoś wie czemu i czy powinno się mappować drugi raz przed włożeniem do tej metody obiektu?

[HttpPost]
[Route("{hotelId}/rooms")]
public async Task<IActionResult> AddRoom(int hotelId, [FromBody] RoomPostDTO newRoom)
{
var room = _mapper.Map<Room>(newRoom);
room.HotelId = hotelId;

_dbContext.Rooms.Add(room);
await _dbContext.SaveChangesAsync();

var mappedRoom = _mapper.Map<RoomGetDTO>(room);

return CreatedAtAction(nameof(GetRoom),
new { hotelId = hotelId, roomId = mappedRoom.Id }, mappedRoom);
}

#naukaprogramowania #aspnetcore #csharp #pytanie
  • 3