API vs API REST
Di recente ho pubblicato questa domanda: API Rest per più applicazioni?
Dopo aver cercato un po 'di più e aver letto questa domanda https://stackoverflow.com/questions/41189842/what-is-difference-between-rest-and-api, Voglio chiedere come devo scegliere tra un'API REST e un'API non REST?
Perché dovrei preferire uno stile all'altro?
Chiedo se esiste una risposta generale, ma fornirò anche un esempio specifico.
Comprendo che sia un'API REST che un'API non REST possono essere utilizzate da più applicazioni (app per pc, app Android, app web ecc.). Se voglio creare il back-end che tutte queste app condivideranno (app per PC, app Android, app web ecc.), In modo che tutte queste app scambino informazioni con il back-end e il back-end memorizzerà tutte queste informazioni , c'è qualche differenza nello stile di API che scelgo?
Anche se non c'è differenza, quale scegliere e perché?
Risposte
REST è un tipo di API. Non tutte le API sono REST, ma tutti i servizi REST sono API.
API è un termine molto ampio. Generalmente è il modo in cui un pezzo di codice parla con un altro. Nello sviluppo web l'API si riferisce spesso al modo in cui recuperiamo le informazioni da un servizio online. La documentazione dell'API ti fornirà un elenco di URL, parametri di query e altre informazioni su come effettuare una richiesta dall'API e ti informerà del tipo di risposta che verrà fornita per ogni query.
REST è un insieme di regole / standard / linee guida su come costruire un'API web. Poiché ci sono molti modi per farlo, avere un sistema concordato di strutturazione di un'API consente di risparmiare tempo nel prendere decisioni durante la creazione di uno e risparmiare tempo nella comprensione di come utilizzarne uno.
Altri paradigmi API popolari includono SOAP e GraphQL.