API design principer

En omfattande studieguid för API-designprinciper, fokuserad på viktiga begrepp och metoder för att skapa effektiva och användarvänliga API:er.

NoahJ1·48 flashcards·48 frågor
universitetcomputer_scienceprogramming
0
Kan
1 / 48
0
Övar
Framsida

Vad är ett API?

Tryck för att vända
Baksida

Ett API (Application Programming Interface) är en uppsättning regler som låter olika program kommunicera med varandra.

Tryck för att vända
Kan
Övar fortfarande

Quiz(48 frågor)

Fråga 1 av 48

1. Vad står förkortningen API för?

Begrepp i det här studiesetet(48)

Grundläggande API-principer(16)

Vad är ett API?

Ett API (Application Programming Interface) är en uppsättning regler som låter olika program kommunicera med varandra.

Vad står REST för?

REST står för Representational State Transfer. Det är en stil för att skapa webb-API:er som är lättanvända och skalbara.

Sann eller falsk: API:er bör vara stateless.

Sann. Stateless innebär att varje begäran från klienten till servern måste innehålla all information för att förstå begäran.

Jämför REST och SOAP.

REST är lättvikts och använder HTTP, medan SOAP är mer strukturerad och kräver XML. REST är enklare för webben.

Fyll i det tomma: API:er bör vara ____.

API:er bör vara konsistenta. Konsistens gör dem lättare att använda och förstå för utvecklare.

Vad är en endpoint?

En endpoint är en specifik URL där en API-resurs kan nås och interageras med. Exempel: /users/123.

Vilken HTTP-metod används för att skapa resurser?

POST används för att skapa nya resurser i ett API.

Vad är en statuskod?

Statuskoder är svar från servern som indikerar resultatet av en API-begäran. Exempel: 200 (OK), 404 (Not Found).

Vad gör en API-versionering?

API-versionering tillåter utvecklare att göra ändringar utan att bryta befintliga klienter. Det kan göras genom URL- eller header-versionering.

Vad innebär idempotens?

Idempotens betyder att upprepade begärningar av samma operation ger samma resultat utan att påverka systemets tillstånd.

Ange ett fördel med API:er.

API:er möjliggör integration mellan olika system och tjänster, vilket främjar återanvändning av kod och resurser.

Vad är JSON?

JSON (JavaScript Object Notation) är ett lättviktigt dataformat som används för att utbyta data mellan klienter och servrar.

Sann eller falsk: API:er bör dokumenteras.

Sann. Bra dokumentation underlättar för utvecklare att förstå hur man använder API:et effektivt.

Vad är CORS?

CORS (Cross-Origin Resource Sharing) är en säkerhetsfunktion som tillåter eller hindrar resurser från att begäras från en annan domän.

Vad innebär throttling?

Throttling begränsar antalet API-begärningar som en användare kan göra under en viss tid för att skydda servern.

Vad är en payload?

Payload är den data som skickas med en API-begäran eller svar. Exempel: JSON-objekt i en POST-begäran.

Designmönster(16)

Vad är ett designmönster?

Ett designmönster är en generell lösning på ett återkommande problem inom programvarudesign, som kan återanvändas i olika sammanhang.

Singleton-mönstret

Säkerställer att en klass har en enda instans och ger en global åtkomstpunkt. Används exempelvis för resursstyrning.

Fördelar med API-versionering?

Möjliggör bakåtkompatibilitet, gör det enkelt att hantera förändringar och förbättrar användarupplevelsen.

Vad är MVC-mönstret?

Model-View-Controller (MVC) separerar applikationens data (modell), användargränssnitt (vy) och logik (kontroller).

Observer-mönstret

Ett mönster där objekt (observatörer) registrerar sig för att ta emot uppdateringar från ett annat objekt (subjekt).

Är Factory-mönstret alltid statiskt?

Falskt. Factory-mönstret kan vara både statiskt och dynamiskt beroende på implementation och behov.

Vad är REST?

Representational State Transfer (REST) är en stil för att bygga webb-API:er som använder HTTP-protokollet.

Strategi-mönstret

Definierar en familj av algoritmer, kapslar in dem och gör dem utbytbara. Används för att variera beteenden.

Vad gör Adapter-mönstret?

Adapter-mönstret gör att inkompatibla gränssnitt kan fungera tillsammans genom att 'anpassa' ett gränssnitt till ett annat.

Observera skillnaden mellan API och SDK.

API:er tillhandahåller funktionalitet, medan SDK:er erbjuder verktyg för att använda API:er effektivt.

Vad är Command-mönstret?

Kapslar in en begäran som ett objekt, vilket möjliggör parametrisering av klienter med olika begärningar.

True or False: API:er ska alltid vara versionerade.

Sant. Versionering skyddar användare från brutna förändringar och säkerställer stabilitet.

Vad innebär Liskov Substitution Principle?

Det innebär att objekt av en underklass ska kunna ersätta objekt av en överklass utan att påverka programmet negativt.

Vad är Composite-mönstret?

Composite-mönstret tillåter att grupper av objekt hanteras på samma sätt som enskilda objekt, vilket förenklar hantering av hierarkier.

Vad är en API-gateway?

En API-gateway fungerar som en ingångspunkt för API-anrop, hanterar autentisering, routing och protokollkonvertering.

Vad gör Decorator-mönstret?

Decorator-mönstret tillåter att lägga till funktionalitet till objekt dynamiskt utan att förändra deras struktur.

Dokumentation och användbarhet(16)

Vad är syftet med API-dokumentation?

Att förklara hur API:et används och underlätta för utvecklare att integrera.

Sant eller falskt: Bra dokumentation ökar användbarheten.

Sant. Tydlig dokumentation minskar inlärningstiden för användare.

Vilka komponenter ingår i API-dokumentation?

- Introduktion - Autentisering - Exempel - Felhantering - API-specifikationer

Vad ska inkluderas i ett API-exempel?

Exempel på begärningar och svar, inklusive parametrar och förväntade resultat.

Vad är en bra praxis för API-dokumentation?

Att använda tydliga rubriker och avsnitt för att organisera information.

Fyll i blank: Dokumentation bör vara ______ och ______.

klarspråkig och omfattande.

Jämför två dokumentationsformat: Markdown vs HTML.

Markdown är enklare och snabbare att skriva, medan HTML erbjuder mer stil och struktur.

Hur kan interaktiv dokumentation hjälpa användare?

Den låter användare göra testanrop direkt i dokumentet, vilket förbättrar förståelsen.

Vilken roll spelar exempel i dokumentationen?

De visar hur API:et används i praktiken och hjälper till att förtydliga funktionalitet.

Vad är ett vanligt verktyg för API-dokumentation?

Swagger, som erbjuder både dokumentation och interaktivitet.

Hur påverkar bristande dokumentation API-använding?

Det kan leda till frustration och felanvändning, vilket minskar effektiviteten.

Sant eller falskt: Användarfeedback kan förbättra dokumentation.

Sant. Feedback ger insikter om områden som behöver förbättras.

Vad är viktigt att ange i felhantering?

- Felkoder - Beskrivningar av fel - Förslag på lösningar

Vad är syftet med versionshantering i dokumentation?

Att hålla reda på förändringar och säkerställa att användare har korrekt information.

Ge ett exempel på en bra dokumentationsstruktur.

1. Introduktion 2. Autentisering 3. Endpoints 4. Exempel 5. Felhantering

Vilka språk används ofta för API-dokumentation?

JavaScript, Python, och Ruby är vanliga för kodexempel och skript.

Frågor i det här studiesetet(48)

1. Vad står förkortningen API för?

A.Application Programming Interface
B.Advanced Program Interaction
C.Automated Programming Interface
D.Active Program Interface

2. Vad är huvudsyftet med ett designmönster?

A.Att ge en generell lösning på återkommande designproblem.
B.Att skapa en specifik lösning för ett unikt problem.
C.Att förhindra användning av objektorienterad programmering.
D.Att alltid kräva en databasanslutning.

3. Vad är huvudsyftet med API-dokumentation?

A.Att förklara hur API:et används och underlätta integration.
B.Att öka serverns hastighet.
C.Att minska kostnaderna för utveckling.
D.Att skapa nya funktioner.

4. Vilken HTTP-metod används för att hämta resurser?

A.GET
B.DELETE
C.PUT
D.PATCH

5. Vilket av följande mönster säkerställer att en klass endast har en instans?

A.Singleton-mönstret
B.Observer-mönstret
C.Decorator-mönstret
D.Strategy-mönstret

6. Sant eller falskt: Tydlig dokumentation kan förkorta inlärningstiden för användare.

A.Sant.
B.Falskt.
C.Endast för erfarna användare.
D.Bara om den är kort.

7. Vilken av följande påståenden är falsk om REST?

A.REST är alltid stateless.
B.REST kan använda olika format för svar.
C.REST kräver alltid XML.
D.REST använder HTTP-protokollet.

8. Vad möjliggör API-versionering?

A.Att förändringar i API:et inte bryter befintlig funktionalitet.
B.Att alltid använda samma version av ett bibliotek.
C.Att undvika användning av webbtjänster.
D.Att göra API:er statiska.

9. Vilken komponent är INTE vanlig i API-dokumentation?

A.Introduktion
B.Autentisering
C.Användarrecensioner
D.Felhantering

10. Vad innebär det att ett API är stateless?

A.Varje begäran är oberoende och innehåller all nödvändig information.
B.Servern sparar klientens status mellan begärningar.
C.API:et kan inte hantera samtidiga begärningar.
D.Servern lagrar användardata för framtida begärningar.

11. Vilket mönster separerar datalogik, användargränssnitt och affärslogik?

A.MVC-mönstret
B.Factory-mönstret
C.Adapter-mönstret
D.Command-mönstret

12. Vad ska en bra API-dokumentation inkludera i exemplen?

A.Exempel på begärningar och svar.
B.Kodkommentarer.
C.Diskussioner om design.
D.Användarhistorier.

13. Vad är syftet med API-versionering?

A.Att låta användare styra dataformatet.
B.Att skydda mot säkerhetsbrister.
C.Att underlätta förändringar utan att påverka befintliga klienter.
D.Att öka hastigheten på API-anrop.

14. Vilket av följande beskriver Observer-mönstret bäst?

A.Ett mönster för att registrera objekt för att ta emot uppdateringar.
B.Ett mönster för att skapa nya instanser av objekt.
C.Ett mönster för att hantera databasanslutningar.
D.Ett mönster för att kapsla in algoritmer.

15. Vilken är en rekommenderad praxis för API-dokumentation?

A.Att använda tydliga rubriker och avsnitt.
B.Att inkludera så mycket teknisk jargong som möjligt.
C.Att hålla dokumentationen kort och ytlig.
D.Att undvika exempel.

16. Vad är en payload i ett API-anrop?

A.Den information som skickas med en begäran eller ett svar.
B.En säkerhetsfunktion för att skydda data.
C.En typ av API-dokumentation.
D.En metod för att hantera fel.

17. Är Factory-mönstret alltid implementerat som statiskt?

A.Falskt
B.Sant
C.Bara i Java
D.Bara i Python

18. Fyll i blank: Bra dokumentation bör vara ______ och ______.

A.klarspråkig och omfattande.
B.komplex och svåråtkomlig.
C.kort och knapp.
D.färgglad och kreativ.

19. Vilken aspekt gör att JSON är populärt för API:er?

A.Det är lättläst och lätt att använda.
B.Det är det mest komplicerade formatet.
C.Det kräver alltid en specifik serverkonfiguration.
D.Det stöder endast textdata.

20. Vad är REST i samband med API-design?

A.En stil för att bygga webb-API:er med HTTP.
B.En specifik programmeringsspråk.
C.En databasstruktur.
D.En typ av algoritm.

21. Vilket dokumentationsformat är enklast att skriva för utvecklare?

A.Markdown.
B.HTML.
C.PDF.
D.Word.

22. Vad är CORS?

A.En säkerhetsåtgärd för att hantera domänbegränsningar.
B.En typ av API-versionering.
C.Ett format för datautbyte.
D.En metod för att optimera API-prestanda.

23. Vilket mönster kapslar in algoritmer och gör dem utbytbara?

A.Strategi-mönstret
B.Singleton-mönstret
C.Observer-mönstret
D.Factory-mönstret

24. Hur kan interaktiv dokumentation vara till hjälp för användare?

A.Den tillåter användare att göra testanrop direkt.
B.Den minskar behovet av exempel.
C.Den är alltid mer detaljerad.
D.Den är ofta svårare att förstå.

25. Vilken statuskod indikerar en framgångsrik begäran?

A.200
B.404
C.500
D.403

26. Vad gör Adapter-mönstret?

A.Anpassar inkompatibla gränssnitt för att fungera tillsammans.
B.Skapar nya objekt från klasshierarkier.
C.Ger en standardiserad databasanslutning.
D.Serializerar objekt för nätverksöverföring.

27. Vilken roll spelar exempel i API-dokumentationen?

A.De visar hur API:et används praktiskt.
B.De är bara för att fylla ut sidan.
C.De är mindre viktiga än tekniska specifikationer.
D.De krävs ej i API-dokumentation.

28. Vad är throttling i samband med API:er?

A.Att begränsa antalet begärningar från en användare.
B.En metod för dataöverföring.
C.En typ av dokumentation för API:er.
D.En säkerhetsåtgärd för att kryptera data.

29. Vilken av följande påståenden om API och SDK är korrekt?

A.API:er erbjuder funktionalitet, SDK:er tillhandahåller verktyg för att använda den.
B.API:er ger verktyg, SDK:er erbjuder funktionalitet.
C.API:er är alltid kostnadsfria, SDK:er kostar pengar.
D.SDK:er fungerar oberoende av API:er.

30. Vilket verktyg används ofta för att skapa API-dokumentation?

A.Swagger.
B.Visual Studio.
C.Notepad.
D.Photoshop.

31. Vad definierar en endpoint i ett API?

A.En specifik URL för att nå en resurs.
B.En metod för att autentisera användare.
C.En typ av databasfråga.
D.En säkerhetsprotokoll.

32. Vad innebär Command-mönstret?

A.Kapslar in en begäran som ett objekt.
B.Skapar en ny instans av en klass.
C.Tillåter direkt åtkomst till databasen.
D.Hantera användargränssnittet.

33. Vad kan hända om dokumentationen är bristfällig?

A.Det kan leda till frustration och felanvändning.
B.Användare kommer att förstå API:et bättre.
C.Det kommer att öka intresset för API:et.
D.Det gör dokumentationen mer populär.

34. Vilken metod används för att uppdatera resurser i ett API?

A.PUT
B.GET
C.DELETE
D.POST

35. Sant eller falskt: API:er bör alltid versioneras.

A.Sant
B.Falskt
C.Endast om de är offentliga
D.Bara för interna API:er

36. Sant eller falskt: Användarfeedback är irrelevant för API-dokumentation.

A.Falskt.
B.Sant.
C.Det beror på API:et.
D.Endast för interna användare.

37. Vad innebär idempotens i API-anrop?

A.Att flera identiska begärningar ger samma resultat.
B.Att alla begärningar måste vara unika.
C.Att begärningar alltid måste returnera ett svar.
D.Att alla API:er är säkra.

38. Vad innebär Liskov Substitution Principle?

A.Underklasser ska kunna ersätta överklasser utan negativa effekter.
B.Objekt ska alltid vara statiska.
C.Gränssnitt ska ha exakt en implementation.
D.Klasser bör aldrig ärva från varandra.

39. Vad ska dokumentationen ange i felhantering?

A.Felkoder och lösningar.
B.Endast felbeskrivningar.
C.Bara exempel på fel.
D.Överenskommelser om användning.

40. Vilket av följande är en fördel med att använda API:er?

A.De möjliggör integration mellan olika system.
B.De gör programvaran mer komplicerad.
C.De begränsar tillgången till funktioner.
D.De förhindrar datadelning.

41. Vad är Composite-mönstret?

A.Ett mönster för att hantera grupper av objekt som en helhet.
B.Ett mönster för att skapa unika instanser av objekt.
C.Ett mönster för att optimera databasanrop.
D.Ett mönster för att dela upp kod i moduler.

42. Vad är syftet med versionshantering i dokumentation?

A.Att hålla reda på förändringar i dokumentationen.
B.Att minska antalet användare.
C.Att göra dokumentationen längre.
D.Att skapa fler versioner av API:et.

43. Vilken av följande är inte en del av REST-arkitekturen?

A.Stateless kommunikation
B.Användning av resurser
C.Krav på XML-format
D.HTTP-metoder

44. Vad är en API-gateway?

A.En ingångspunkt för API-anrop som hanterar autentisering.
B.En specifik typ av databas.
C.Ett bibliotek för att skapa användargränssnitt.
D.En typ av objektorienterat mönster.

45. Ge ett exempel på en bra struktur för API-dokumentation.

A.1. Introduktion 2. Autentisering 3. Endpoints 4. Exempel 5. Felhantering.
B.1. Endpoints 2. Exempel 3. Feedback 4. Autentisering.
C.1. Introduktion 2. Feedback 3. Exempel 4. Slutord.
D.1. Specifikationer 2. Diskussioner 3. Referenser.

46. Vilken av följande påståenden beskriver bäst syftet med API-dokumentation?

A.Att hjälpa utvecklare att förstå hur man använder API:et effektivt.
B.Att minska serverbelastningen.
C.Att öka hastigheten på API-anrop.
D.Att säkerställa att API:et är stateless.

47. Vad gör Decorator-mönstret?

A.Lägger till funktionalitet till objekt utan att ändra deras struktur.
B.Skapar nya klasser från befintliga.
C.Hantera användardata i en databas.
D.Erbjuder en standardisering av API:er.

48. Vilket programmeringsspråk används ofta i API-dokumentation?

A.JavaScript.
B.HTML.
C.Markdown.
D.CSS.

Relaterade studieset

Skapa ditt eget studieset

Ladda upp en PDF, klistra in dina anteckningar eller beskriv ett ämne – AI genererar flashcards, quiz och mer på några sekunder.