In caso di dubbi, prova a ricordare come lo facciamo sul web
Should a wrapper library make sure that the field is set correctly before making the request?
L'analogico web di questo è un modulo html, che invierà dati application / x-www-form-urlencoded, dove la rappresentazione del modulo stesso include una descrizione di un controllo di input che fornisce sia il nome di un parametro che un elenco di valori previsti.
Il browser web, a sua volta, produrrebbe un'interfaccia utente con elementi visivi che illustrano chiaramente l'intervallo di valori consentiti e costruirà il corpo della richiesta appropriata dalla selezione effettuata dall'operatore umano.
Tecnicamente, la gamma di scelte non deve essere inclusa nella rappresentazione; un tipo di supporto che descrive l'intervallo di valori consentiti. Penso che scoprirai che la progettazione del supporto per il cambiamento nelle tue definizioni dei tipi di media andrà a buon fine nel lungo periodo.
Naturalmente, non tutti gli interpreti applicano gli intervalli descritti all'interno delle rappresentazioni. arricciatura, per esempio, non impedirà un errore di ortografia se provi a creare la tua risposta.
Non è obbligatorio che la libreria wrapper supporti la descrizione delle richieste con i primitivi. Se pensi che l'introduzione di un tipo di valore di genere aumenterà l'adozione della biblioteca o migliorerà l'esperienza di utilizzo, allora dovresti assolutamente farlo. Scambi: il percorso felice diventa più facile da usare, i casi limite diventano più difficili.