Appunti: API design best practices
Questo set di flashcard offre una panoramica delle migliori pratiche nel design delle API, utile per studenti universitari che vogliono approfondire le tecniche per creare interfacce di programmazione efficaci e manutenibili.
Quiz(56 spørsmål)
1. Qual è il protocollo su cui si basa REST?
Begreper i dette studiesettet(56)
Principi Fondamentali del Design API(16)
Qual è l'importanza della chiarezza nei nomi delle API?
I nomi chiari migliorano la comprensibilità e facilitano l'uso da parte degli sviluppatori.
Principio REST: stateless o stateful?
Stateless. Ogni richiesta deve contenere tutte le informazioni necessarie.
Quali sono i metodi HTTP principali?
- GET - POST - PUT - DELETE
Vero o falso: le API dovrebbero essere versionate sempre.
Vero. Il versionamento aiuta a gestire le modifiche senza rompere la compatibilità.
Cos'è un endpoint in un'API?
Un URL specifico che rappresenta un'operazione o una risorsa nell'API.
Come si gestisce un errore 404?
Restituire un messaggio chiaro che indica che la risorsa non è stata trovata.
Cosa significa 'idempotente' in un metodo API?
Un'operazione può essere eseguita più volte senza cambiare il risultato oltre la prima esecuzione.
Quali sono i formati di risposta comuni per le API?
JSON e XML sono i formati più usati per le risposte delle API.
Qual è il principio DRY?
Don't Repeat Yourself: evitare la duplicazione del codice nelle API.
Come si definisce la documentazione di un'API?
Deve descrivere chiaramente tutte le endpoint, metodi e parametri disponibili.
Qual è l'effetto di una buona gestione delle versioni?
Permette agli sviluppatori di aggiornare senza interrompere gli utenti esistenti.
Cosa deve contenere una risposta API ben formata?
Status, headers e body coerenti con le specifiche richieste.
Fill in the blank: Un'API dovrebbe essere _____ per facilitare l'integrazione.
Facile da usare e navigare.
Cosa significa 'scalabilità' in un design API?
La capacità dell'API di gestire un aumento del carico di lavoro senza degradare le prestazioni.
Qual è il ruolo delle intestazioni HTTP?
Forniscono metadati sulla richiesta o sulla risposta, come tipo di contenuto e autorizzazioni.
Qual è la differenza tra GET e POST?
GET recupera dati, mentre POST invia dati al server per la creazione o l'aggiornamento di risorse.
Stile e Formati delle API(20)
Che cos'è REST?
REST (Representational State Transfer) è un'architettura per progettare servizi web, basata su HTTP.
JSON vs XML: quale è più leggero?
JSON è più leggero e più facile da leggere rispetto a XML, riducendo il carico di dati.
Qual è il formato comune per le API?
Il formato più comune è JSON, utilizzato per la sua semplicità e compatibilità con JavaScript.
Vero o falso: XML supporta i commenti.
Vero. XML permette l'inserimento di commenti usando <!— commento —>.
Quali metodi HTTP sono più usati?
I metodi più comuni sono GET, POST, PUT, DELETE.
Quale convenzione di denominazione è consigliata per le risorse?
Usare nomi al plurale per le risorse, ad esempio /utenti invece di /utente.
Che cos'è GraphQL?
GraphQL è un linguaggio di query per API, che consente di richiedere solo i dati necessari.
JSON: come rappresentare un array?
Un array in JSON è rappresentato come: [1, 2, 3].
Vero o falso: le API devono restituire sempre lo stesso formato.
Falso. Le API possono supportare più formati, come JSON e XML, in base alle esigenze.
Che significa HATEOAS?
HATEOAS (Hypermedia As The Engine Of Application State) è un principio di REST che fornisce link dinamici nelle risposte.
Qual è la differenza tra API pubbliche e private?
Le API pubbliche sono accessibili a tutti, mentre le API private sono limitate a un utilizzo interno.
Quale è il formato più usato per la documentazione API?
Swagger è uno dei formati più usati per documentare le API.
Cause e effetti: perché usare il versionamento?
Il versionamento permette di mantenere la compatibilità e gestire modifiche senza rompere le integrazioni esistenti.
Che cos'è un endpoint?
Un endpoint è un URL che rappresenta una risorsa specifica in un'API.
Quali sono i tipi di contenuto comuni nelle API?
I tipi di contenuto comuni includono application/json, application/xml, text/html.
Vero o falso: le API dovrebbero essere stateless.
Vero. Le API stateless non mantengono informazioni sullo stato tra le richieste.
Esempio di endpoint RESTful.
/api/utenti/1 per ottenere l'utente con ID 1.
Qual è l'importanza dei codici di stato HTTP?
I codici di stato HTTP comunicano il risultato della richiesta, come 200 per successo o 404 per non trovato.
Cosa rappresenta il termine 'payload'?
Il payload è la parte di una richiesta o risposta contenente i dati reali scambiati.
Che cos'è un webhook?
Un webhook è un metodo per ricevere dati in tempo reale dalle API quando si verifica un evento.
Sicurezza e Autenticazione(12)
Cos'è l'autenticazione nelle API?
L'autenticazione è il processo di verifica dell'identità di un utente o di un'applicazione che tenta di accedere a un'API.
Qual è la differenza tra autenticazione e autorizzazione?
L'autenticazione verifica chi sei, mentre l'autorizzazione determina cosa puoi fare dopo l'autenticazione.
Vero o falso: HTTPS è importante per la sicurezza delle API.
Vero. HTTPS cripta i dati durante il trasferimento, proteggendo le informazioni sensibili da intercettazioni.
Quali sono i metodi comuni di autenticazione?
- Basic Auth - Token Bearer - OAuth - API Key
Compila il vuoto: OAuth è un protocollo di ___ per autorizzare l'accesso alle API.
OAuth è un protocollo di autorizzazione per autorizzare l'accesso alle API.
Qual è il ruolo dei token JWT nelle API?
I token JWT (JSON Web Tokens) vengono utilizzati per l'autenticazione e l'autorizzazione, consentendo comunicazioni sicure tra client e server.
Cos'è il rate limiting?
Il rate limiting è una pratica di sicurezza che limita il numero di richieste che un utente può effettuare a un'API in un dato periodo di tempo.
Quali sono i rischi delle API non protette?
- Accesso non autorizzato - Furto di dati - Attacchi DDoS
Vero o falso: Le chiavi API devono essere esposte nel codice sorgente.
Falso. Le chiavi API devono essere mantenute segrete e non esposte nel codice sorgente.
Causa → Effetto: Un attacco CSRF può portare a ___
Un attacco CSRF può portare a operazioni non autorizzate eseguite dall'utente sulla tua API.
Qual è l'importanza della validazione dell'input?
La validazione dell'input è cruciale per prevenire attacchi come SQL Injection e XSS, garantendo l'integrità dei dati.
Esempio di autenticazione: Come funziona API Key?
Un client include una chiave API nelle richieste. Il server verifica la chiave e concede l'accesso se valida.
Versionamento e Manutenzione delle API(8)
Cos'è il versionamento delle API?
È la pratica di gestire le modifiche alle API nel tempo per garantire compatibilità e stabilità.
Vantaggi del versionamento semantico?
- Chiarezza delle modifiche - Compatibilità garantita - Facilità di integrazione
API v1.0 vs v2.0: differenze?
v1.0 può avere endpoint obsoleti, v2.0 introduce nuove funzionalità senza rompere la compatibilità.
Versionamento: URL o Header?
Utilizzare l'URL è più chiaro per l'utente, mentre l'Header mantiene l'endpoint più pulito.
Vero o falso: le API non devono mai cambiare?
Falso. Le API devono evolversi, ma con cautela per non rompere l'integrazione degli utenti.
Quando deprecate un'API?
Quando è sostituita da una nuova versione o non è più necessaria. Informare gli utenti è cruciale.
Esempio di versionamento in pratica?
Se un'API cambia il formato di risposta, è consigliabile creare un nuovo endpoint, come /api/v2/risorsa.
Qual è l'effetto del versionamento sulle API?
Permette di mantenere compatibilità mentre si introducono nuove funzionalità, evitando rotture per gli sviluppatori.
Spørsmål i dette studiesettet(56)
1. Qual è il protocollo su cui si basa REST?
2. Cos'è il principale obiettivo del versionamento delle API?
3. Qual è il principio fondamentale del design delle API che incoraggia l'uso di nomi chiari e descrittivi?
4. Quale delle seguenti affermazioni descrive meglio il processo di autenticazione nelle API?
5. Quale formato di dati è più comune nelle risposte delle API?
6. Quale delle seguenti opzioni non è un vantaggio del versionamento semantico?
7. Che tipo di stato devono mantenere le API secondo il principio REST?
8. Qual è la principale differenza tra autenticazione e autorizzazione?
9. Quale metodo HTTP viene utilizzato per creare una nuova risorsa?
10. Quando è consigliato deprecare un'API?
11. Quali dei seguenti metodi HTTP è utilizzato per modificare una risorsa esistente?
12. Vero o falso: L'uso di HTTPS è fondamentale per la sicurezza delle API.
13. Vero o falso: le API RESTful sono sempre state statiche.
14. Qual è una pratica comune per il versionamento delle API?
15. È corretto affermare che le API dovrebbero essere sempre versionate?
16. Quale di questi è un metodo comune di autenticazione?
17. Quale convenzione di denominazione è considerata migliore per le risorse?
18. Quale delle seguenti affermazioni è vera riguardo al versionamento tramite header?
19. Cosa rappresenta un endpoint in un'API?
20. Compila il vuoto: Un attacco DDoS può causare ___ delle API.
21. Qual è la principale caratteristica di GraphQL?
22. Quale delle seguenti situazioni rappresenta un effetto positivo del versionamento delle API?
23. Come si deve rispondere a un errore 404 quando una risorsa non viene trovata?
24. Qual è l'importanza della validazione dell'input nelle API?
25. Quale tra i seguenti non è un metodo HTTP?
26. In quale scenario sarebbe più appropriato usare il versionamento tramite URL?
27. Cosa significa che un'operazione API è 'idempotente'?
28. Cosa rappresenta un token JWT?
29. Cosa rappresenta un endpoint in un'API?
30. Qual è una conseguenza negativa di non gestire correttamente il versionamento delle API?
31. Quali sono i formati di risposta più comuni utilizzati dalle API?
32. Quale delle seguenti è una pratica di rate limiting?
33. Qual è la funzione principale dei codici di stato HTTP?
34. Cosa implica il principio DRY nel design delle API?
35. Cosa può succedere se le chiavi API vengono esposte nel codice sorgente?
36. Che cos'è un webhook?
37. Qual è un elemento essenziale che deve contenere la documentazione di un'API?
38. Che cosa fa una richiesta di autenticazione con API Key?
39. Vero o falso: JSON può contenere commenti.
40. Qual è l'effetto positivo di una buona gestione delle versioni delle API?
41. Quale di queste affermazioni è falsa riguardo alla sicurezza delle API?
42. Quale opzione rappresenta un array in JSON?
43. Cosa deve includere una risposta API ben strutturata?
44. Cosa provoca un attacco CSRF?
45. Cosa significa HATEOAS?
46. Un'API dovrebbe essere _____ per facilitare l'integrazione.
47. Quale formato è comunemente usato per documentare le API?
48. Cosa si intende per 'scalabilità' nel design delle API?
49. Quale tra le seguenti affermazioni è vera riguardo al versionamento delle API?
50. Qual è la funzione principale delle intestazioni HTTP nelle comunicazioni API?
51. Quale tipo di contenuto è frequentemente utilizzato per le API JSON?
52. Qual è la principale differenza tra i metodi GET e POST?
53. Quale delle seguenti affermazioni è corretta riguardo alle API pubbliche e private?
54. Cosa rappresenta il termine 'payload' in un'API?
55. Quale tra le seguenti affermazioni descrive meglio le API stateless?
56. Quale dei seguenti rappresenta un esempio di codice di stato HTTP che indica un errore del client?
Relaterte studiesett
Schleife Alltag Beispiel Begriffe
Abitur: Abitur Klassen und Objekte
Wiederholung: Funktionen
Test: Binärzahlen
Listen Notizen
Test: Variablen und Datentypen
Abitur Datenbanken SELECT grob Prüfung
Abitur Rekursion
Lag ditt eget studiesett
Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.

