Ho fornito un'API Web (.NET MVC 5) di un database Oracle alle persone che stanno creando un'app mobile. Devo ammettere che non sono molto bravo in questo. Ho scoperto che posso facilmente produrre oggetti di trasferimento dati per realizzare schermi JSON molto semplici.
La mia domanda è se sia fattibile chiedere agli sviluppatori mobili di effettuare più chiamate all'API per ottenere i dati di cui hanno bisogno. Ciò sarebbe in contrasto con me fornendo un modello più complesso che fornisce tutte le informazioni in UNA chiamata.
Come puro esempio ... se avessimo a che fare con animali, nella mia API avrebbero bisogno di chiamare sia la categoria (api / categorie) che il nome dell'animale (api / animali) e collegare i 2 insieme a seconda della loro ha bisogno di:
..... chiama 1 a category_table
[{
CATEGORY_ID: 1,
CATEGORY_NAME: "Dog"
},
{
CATEGORY_ID: 2,
CATEGORY_NAME: "Cat"
}]
..... chiama 2 to animal_table
[{
ANIMAL_ID: 1,
CATEGORY_ID: 2,
NAME: Tabby
},
{
ANIMAL_ID: 2,
CATEGORY_ID: 2,
NAME: Lion
},
{
...etc,etc,
}
]
L'altra opzione sarebbe quella di utilizzare JSON più complessi utilizzando gli array in modo che effettuino una sola chiamata. Che sto avendo qualche difficoltà con. Al momento le API sono molto semplici quindi potrebbero dover chiamare alcune API. Ho provato a utilizzare direttamente il modello che avevo creato dal DB, ma ho finito con l'enorme quantità di dati prodotti (array all'interno di array all'interno di array, ecc. Ecc.). Ho dovuto usare DTO ma ho difficoltà a utilizzare gli array.
La domanda è se sia fattibile fare in modo che gli sviluppatori effettuino più chiamate anziché una risposta JSON più complessa. Programmeranno i dispositivi mobili IOS usando swift.
In altre parole, potevo mettere una serie di ogni animale nella chiamata di categorie (era forse un esempio semplicistico). Non sto parlando di mettere il category_name nell'api / animali ... sarebbe facile! Intendo una qualche forma di array associativi.