Responsabilità API vs Responsabilità del cliente (caratteristiche dei dati restituiti)

0

Ho difficoltà a cercare di trovare una "regola da seguire" da seguire quando si dettano determinate responsabilità all'API o alla base di codice lato client.

Ad esempio, se so che un set di dati deve essere restituito in ordine alfabetico, nel caso in cui uno sviluppatore front-end si aspettasse che i dati siano ordinati correttamente in ordine alfabetico dai progettisti / sviluppatori dell'API, o dovrei aspettarmi di essere quello ordina i dati.

Estendendo questo pensiero, quali sono i modi in cui posso determinare se le operazioni legate ai dati sono la responsabilità dello sviluppatore front-end o la responsabilità di api designer / sviluppatore? Voglio sapere quando tracciare la linea e aspettarmi che le cose vengano fatte prima che raggiunga la mia giurisdizione.

    
posta connected_user 07.06.2018 - 17:09
fonte

2 risposte

3

Tutte le interfacce devono avere "contratti" chiari che specificano cosa ciascuna parte può aspettarsi dall'altra parte. Se nel contratto si afferma che i dati sono ordinati, dovresti fare affidamento su questo. Se risulta che il servizio fornisce dati non ordinati, puoi dare la colpa a: -)

Se non sei sicuro di una parte, di solito è un segno che il contratto non è stato scritto correttamente. A seconda di quanta influenza hai sull'autore dell'API, dovresti chiedere loro di chiarire, o se ciò non è possibile, assumere il peggio e programmare in modo difensivo. In questo caso significherebbe che anche se i tuoi test indicano che il servizio restituisce i dati ordinati, supponi che sia solo una possibilità fortunata e comunque ordinare.

    
risposta data 07.06.2018 - 17:24
fonte
1

Dovresti iniziare con la documentazione dell'API. Se la documentazione dice che i dati verranno restituiti in un determinato modo, non dovrebbe essere responsabilità del codice lato client ordinare i dati o manipolarli allo stesso modo. Potrebbe anche portare a sforzi inutili.

Se la documentazione non specifica, allora dovresti dare per scontato che non si stia eseguendo e controlli la tua parte o semplicemente effettui la manipolazione.

Essenzialmente, la linea è disegnata con la documentazione. Se la manipolazione che hai bisogno di fare non è nella documentazione, allora dovresti pensare che non sia fatta. Se non c'è documentazione, suppongo che la manipolazione non venga eseguita. Potresti essere in grado di indovinare dal nome dell'endpoint dell'API, ma questa è sempre un'ipotesi da parte tua.

    
risposta data 07.06.2018 - 17:23
fonte

Leggi altre domande sui tag