Olá,
Tenho uma tabela de join que tem uma chave primária composta, conforme definição abaixo:
//Classe GestorFuncionário tem chave composta pelos campos GestorId e FuncionarioId, tanto o gestor quanto o funcionário são do tipo Usuario
public class GestorFuncionario
{
public int GestorId { get; set; }
public Usuario Gestor { get; set; }
public int FuncionarioId { get; set; }
public Usuario Funcionario { get; set; }
}
No momento de desenvolver o método Delete da API me deparei com o problema de não poder chamar o padrão "api/[controller]/{id}", então resolvi passar o objeto do tipo GestorFuncionario como parâmetro do método Delete e informa-lo no corpo da requisição.
//EndPoint para deletar uma entidade GestorFuncionario
[HttpDelete]
public async Task DeleteGestorFuncionarioAsync(GestorFuncionario gestorFuncionario)
{
gestorFuncionario = await _context.GestorFuncionarios.Where(x => x.GestorId == gestorFuncionario.GestorId && x.FuncionarioId == gestorFuncionario.FuncionarioId).FirstOrDefaultAsync();
if (gestorFuncionario == null)
{
return NotFound();
}
_context.GestorFuncionarios.Remove(gestorFuncionario);
await _context.SaveChangesAsync();
}
A API compilou normalmente e consegui realizar o teste sem problemas pelo POSTMAN, porém quando tentei utilizar o objeto HttpClient no momento de consumir a API, verifiquei que não é possível adicionar um corpo no método _httpClient.DeleteAsync(). Dessa forma, como posso enviar informações no corpo de requisições delete para resolver essa questão?