Qual è la differenza tra un'API REST e un'API normale (che stampa una risposta JSON)?Differenza tra un output di un'API normale e un'API REST
risposta
Non c'è alcuna differenza. REST descrive un modo di interagire con un server HTTP, non ciò che il server deve restituire in risposta. La maggior parte delle app web interagisce con il lato server tramite richieste POST o GET con qualsiasi informazione aggiuntiva necessaria per soddisfare la richiesta in una sottomissione di modulo per POST o la stringa di query per GET. Quindi, se si desidera eliminare qualcosa dal server, in genere eseguono il POST con un modulo che contiene dati che specificano una risorsa insieme a un'istruzione per eliminarlo.
Tuttavia, HTTP implementa metodi (noti anche come verbi) diversi da GET o POST. Implementa, tra l'altro, HEAD (restituisce le stesse intestazioni che avresti fatto per un GET, ma senza corpo di risposta), PUT (Prendi il corpo della richiesta e memorizza il suo contenuto in qualsiasi URL a cui è stata fatta la richiesta PUT), e CANCELLA (Elimina qualsiasi risorsa esistente all'URL specificato). Un'interfaccia REST utilizza semplicemente questi verbi aggiuntivi per convalidare il significato della richiesta al server.
I browser in genere supportano solo GET e POST per le richieste "normali" (non XHR), ma strumenti come Curl possono emettere il set completo di verbi HTTP. Puoi anche usare verbi aggiuntivi con tecniche basate su XHR come AJAX.
Dovrai comunque fornire un'API non REST tradizionale per i browser da utilizzare, a meno che tu non stia rendendo necessario il supporto di javascript e XHR per l'utilizzo della tua app.
REST si riferisce principalmente all'utilizzo del protocollo HTTP nel modo previsto. Utilizzare il metodo HTTP GET
su un URL per recuperare informazioni, possibilmente in diversi formati basati su intestazioni HTTP Accept
. Utilizzare il metodo HTTP POST
per creare nuovi elementi sul server, PUT
per modificare elementi esistenti, DELETE
per eliminarli. Rendere l'API idempotente, ovvero ripetere la stessa query con la stessa informazione dovrebbe produrre lo stesso risultato. Struttura degli URL in modo gerarchico, ecc.
REST è solo un principio guida su come utilizzare gli URL e il protocollo HTTP per strutturare un'API. Non dice nulla sui formati di ritorno, che potrebbero anche essere JSON.
Ciò è contrario, ad esempio, alle API che inviano messaggi binari o XML a una porta designata, non utilizzando affatto le differenze nei metodi HTTP o negli URL.
- 1. Differenza tra REST e WebServices
- 2. Output diverso tra argv e normale array di stringhe
- 3. Differenza tra canPlayType forse e probabilmente output
- 4. Differenza tra servizi web OData e REST
- 5. Differenza tra parsimonia, JSON e REST
- 6. Differenza tra classe di dimensioni Compatta e Normale
- 7. Differenza tra una vista AppCompat e una normale vista Android
- 8. Differenza totale tra la normale funzione javascript e una calcolata
- 9. Differenza tra richiesta AJAX e una normale richiesta del browser
- 10. Mandrill - La differenza tra global_merge_vars e normale merge_vars
- 11. Django REST Framework: differenza tra visualizzazioni e viewet?
- 12. differenza citazione normale e backquote in pitone
- 13. Qual è la differenza tra il servizio Spring Rest e le soluzioni Jersey Rest Service e Spring + Jersey?
- 14. JADE: differenza tra e ogni
- 15. Differenza tra array di caratteri e puntatore
- 16. Qual è la differenza tra un servizio Windows e un'applicazione normale?
- 17. Differenza tra ob_get_clean e ob_get_flush
- 18. Differenza tra servizi ASP.NET MVC 4 Web Api e REST classic
- 19. Differenza tra e
- 20. Differenza tra malloc e dlmalloc
- 21. Differenza tra JSONParser e JSONRenderer
- 22. Un lavoro di ridimensionamento della mappa con input di testo normale e output avro
- 23. Qual è la differenza tra una cartella di origine e una cartella (normale)
- 24. Differenza tra un WebControl e un CompositeControl?
- 25. Qual è la differenza tra regex di vim e regex normale?
- 26. Qual è la differenza tra typecasting normale e l'utilizzo di “AS” parola chiave
- 27. Differenza di comportamento tra parseInt() e parseFloat()
- 28. CMake: differenza tra $ {} e "$ {}"
- 29. Differenza tra | = e^= css
- 30. Differenza tra jquery e $
Ciao, voglio creare un'API che verrà utilizzata da app per dispositivi mobili e siti Web. Quale sarebbe il modo migliore di fare l'API (REST o Non REST)? – Shaolin