In generale, gli errori espliciti sono buoni. Ma per il problema specifico di un limite di paginazione, il troncamento silenzioso del risultato è probabilmente migliore.
- Questo non è davvero un errore fatale - continuerai a restituire dati.
- Il client può inviare più richieste fino a quando non hanno ricevuto tutti i dati necessari.
- Questo ti permette di documentare il limite come limite superiore dei valori restituiti, dandoti la libertà di restituire un minor numero di risultati.
- Ad esempio, puoi modificare il limite senza preavviso, eventualmente anche dinamicamente.
Sarebbe comunque una buona idea avvisare il cliente quando ha richiesto più elementi di quanti ne avrebbero mai avuto. Ad esempio, la tua API potrebbe restituire un oggetto JSON che è {"data": [...]}
o {"error": ...}
. In entrambi i casi, è possibile aggiungere una voce "warning": ..."
. Ma ciò ha senso solo per le API pubbliche. Quando un'API viene utilizzata solo internamente, è probabilmente sufficiente ignorare in silenzio il problema (sperando che altri canali di comunicazione spieghino la limitazione) o almeno registrarlo per la revisione.