Я реализую веб-API в ASP. net ядро в CQRS Pattent
и использую mediatR library
У меня есть отдельная модель Как CreatePartyCommand, UpadatePartyCommand, DeletePartyCommand, PartyViewModel, PartyQuery
public class CreatePartyCommand : IRequest<int>
{
public string Name { get; set; }
public string Family { get; set; }
public long Code { get; set; }
public string Title { get; set; }
}
public class UpdatePartyCommand : IRequest<int>
{
public int Id { get; set; }
public string Name { get; set; }
public string Family { get; set; }
public long Code { get; set; }
public string Title { get; set; }
}
public class DeletePartyCommand : IRequest
{
public int Id { get; set; }
}
[Route("api/[controller]")]
[ApiController]
public class PartyController : ControllerBase
{
private readonly IMediator _mediator;
public PartyController(IMediator mediator)
{
_mediator = mediator;
}
[HttpGet]
public async Task<ActionResult<IEnumerable<PartyViewModel>>> Get([FromQuery] PartyQuery partyQuery)
{
return Ok(await _mediator.Send(partyQuery));
}
[HttpPost]
public async Task<ActionResult<int>> Create([FromBody] CreatePartyCommand command)
{
var productId = await _mediator.Send(command);
return Ok(productId);
}
[HttpPut]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[ProducesDefaultResponseType]
public async Task<IActionResult> Update([FromBody] UpdatePartyCommand command)
{
await _mediator.Send(command);
return NoContent();
}
[HttpDelete("{id}")]
[ProducesResponseType(StatusCodes.Status204NoContent)]
[ProducesDefaultResponseType]
public async Task<IActionResult> Delete(int id)
{
await _mediator.Send(new DeletePartyCommand { Id = id });
return NoContent();
}
}
На стороне клиента у меня есть компонент для Party List
, который выгружает данные и привязывает их к PartyViewModel[]
и одному или двум (не знаю, помогите мне, пожалуйста) компоненту для добавления и обновления
Как мне создавать DataModels на стороне клиента или какие изменения вносить в на стороне сервера завершить сценарий CRUD?