BWebApiModel - esempi
Endpoint GET protetto
[HttpGet]
[Route("GetCliente")]
[BApiFilter(BApiFilterBase.eCheckType.All)]
public IActionResult GetCliente(int id)
{
try
{
BCliente cliente = new BCliente(id, Cnn!);
if (cliente.IsNothing)
return BadRequestMessage("Cliente non trovato", false);
return OkMessage("OK", cliente);
}
catch (Exception ex)
{
WriteLog("Errore durante il caricamento del cliente", BEnumerations.eSeverity.ERROR, ex);
return ErrorMessage<bool>("Errore durante l'elaborazione della richiesta");
}
}
Endpoint POST protetto
[HttpPost]
[Route("SaveCliente")]
[BApiFilter(BApiFilterBase.eCheckType.All)]
public IActionResult SaveCliente([FromBody] BCliente cliente)
{
try
{
if (cliente == null)
return BadRequestMessage("Dati cliente non presenti", false);
cliente.ChangeConnection(Cnn);
bool salvato = cliente.Update();
if (!salvato)
return BadRequestMessage("Cliente non salvato", false);
return OkMessage("Cliente salvato", true);
}
catch (Exception ex)
{
WriteLog("Errore durante il salvataggio del cliente", BEnumerations.eSeverity.ERROR, ex);
return ErrorMessage<bool>("Errore durante l'elaborazione della richiesta");
}
}
Chiamata HTTP
@HostAddress = https://localhost:7183
@SecureKey = valore-calcolato-dal-client
GET {{HostAddress}}/GetCliente?id=125
B-SECURE-KEY: {{SecureKey}}
Accept: application/json
Il nome definitivo della route dipende dagli attributi applicati al controller e all'azione.
Personalizzare i controlli del filtro
Nella parte BPartialClasses/BApiFilterBase.cs, aggiungere i controlli applicativi previsti dall'hook del modello senza modificare BBaseClasses/BApiFilterBase.cs.
