Considera un'API Web con un endpoint api\LargeItem
Un LargeItem
è un oggetto piuttosto grande con molte proprietà e stringhe lunghe.
Un utente può GET
uno come così api\LargeItem
che restituisce LargeItem
con Id 1
Tuttavia abbiamo spesso bisogno di compilare elenchi di questi elementi per la selezione degli utenti e, quando lo facciamo, non abbiamo mai bisogno del grande oggetto idratato ricco.
Da un lato l'utente può aspettarsi di chiamare solo api\LargeItem
e di recuperarli tutti ... ma non intendo mai che il mio utente consumi la grande collezione di oggetti ricchi come questo. Quando vogliono una lista preferisco dare loro SmallerVersionOfLargeItem
che forse ha solo Id e Nome, per esempio.
Esiste una linea guida o uno standard per stabilire se è possibile restituire oggetti di forma diversa dall'endpoint omonimo con inclusioni URL diverse?
È preferibile avere un endpoint come api\SmallerVersionOfLargeItems\
?
EDIT equivale al concetto ShouldSerialize
in JSON.Net eccetto senza utilizzare una proprietà ?fields
nella chiamata API.
Per chiarire: My Api api non usa i termini "Large" e "Small" nella realtà. Li sto solo usando qui per illustrare che questi sono solo diversi set di campi dello stesso oggetto.