BWebApiModel - domande degli sviluppatori
Come proteggo un endpoint?
Applicare [BApiFilter(BApiFilterBase.eCheckType.SecureKey)] oppure All quando serve anche il database.
Dove invio la SecureKey?
Nell'header previsto da BApiServiceSecureKey, normalmente B-SECURE-KEY.
Devo usare JWT?
Non per questo template: il meccanismo previsto è SecureKey. Un passaggio a token richiede una decisione architetturale separata.
Posso scrivere la SecureKey nei log per diagnosticare?
No. Non registrare chiave ricevuta, chiave attesa o password del servizio.
Come restituisco una risposta positiva?
Usare OkMessage<T> o BoolMessage, che costruiscono BHTTPApiResponse<T>.
Come restituisco un errore?
Usare BadRequestMessage<T>, ErrorMessage<T> o StatusCodeMessage<T> secondo il caso; loggare l'eccezione senza restituirla al client.
Come accedo al database?
Applicare il filtro Database o All, verificare la configurazione e usare la proprietà Cnn del controller base.
Posso creare endpoint senza database?
Sì, usando Base o SecureKey secondo il livello di protezione richiesto.
Dove aggiungo un controllo applicativo comune?
Nella parte BPartialClasses/BApiFilterBase.cs, utilizzando il punto di estensione previsto dal modello.
Come provo le chiamate?
Usare Swagger oppure il file .http, inviando sempre header, route e corpo coerenti con l'endpoint.
