Progettazione dell'API: indica che i risultati sono stati troncati

1

Per motivi , il mio endpoint di ricerca restituisce un massimo di 50 risultati.

Sto lottando con il modo migliore per dire al chiamante che i loro risultati erano limitati a 50.

Il meglio che ho trovato è la restituzione di alcuni campi aggiuntivi:

{
    results: [
        ...
    ],
    resultsTruncated: true,
    resultsReturned: 50,
    totalMatchingResults: 1232
}

C'è un'opzione migliore?

Speravo davvero in un codice di risposta 2xx, ma nessuno sembra appropriato.

    
posta David Lavender 26.11.2018 - 11:16
fonte

2 risposte

4

euristica utile: come faresti con le pagine web?

The best I've come up with is returning some additional fields

Estendere la tua rappresentazione per includere ulteriori informazioni per il cliente è un modo appropriato per farlo.

Questo è, dopo tutto, esattamente ciò che dovresti fare se restituissi un sacco di risultati in un documento HTML.

I was really hoping for a 2xx response code, but none seem appropriate.

Nessuno di questi lo sono.

Fondamentalmente, quello che hai qui è una risorsa "pagina" - stai restituendo una rappresentazione completa di una vista ritagliata dei tuoi dati.

Modifica : note sull'utilizzo della paginazione standard offset di ricerca rimossi perché non sono compatibili con" il chiamante non è permesso di sfogliare le pagine dei risultati ".

    
risposta data 26.11.2018 - 11:35
fonte
1

Se è veramente codificato a un massimo di 50 anziché essere una cosa di impaginazione, allora forse non hai bisogno di fare nulla. Basta aggiornare la documentazione e restituire una serie di risultati e fermarsi quando arrivi a 50.

Il modo in cui l'ho visto è lo stesso che suggerisci tu. Restituisce un "SearchResult" che contiene le meta informazioni extra

    
risposta data 26.11.2018 - 12:07
fonte

Leggi altre domande sui tag