Om uw API adequaat te monitoren moet u vaak gebruikmaken van multiple HTTP requests. Meestal zult u een reeks requests willen configureren, waarbij iedere nieuwe request gebruikmaakt van een of meer stukjes data afkomstig van een vorige request om zijn taak uit te voeren.

Mogelijke redenen om een reeks HTTP requests te doen zijn:

  • Uw API vereist geverifieerde toegang. Om een method aan te roepen in de daadwerkelijke API moet een API client zich eerst authenticeren (bijvoorbeeld door het gebruik van OAuth authentication).
  • U wilt een functioneel scenario in uw API testen dat bestaat uit meerdere stappen die meestal door uw eindgebruikers in een bepaalde volgorde worden uitgevoerd.
  • Een van uw HTTP requests retourneert een redirect naar een andere URL, maar u wilt die respons inspecteren voordat de redirect wordt gevolgd

Voor al deze scenario's is Multi-Step API monitoring heel geschikt!

Een API scenario kan beginnen als slechts een enkele stap, maar u kunt zelf meer stappen toevoegen en uw scenario’s zelfs later uitbreiden. U hebt volledige controle over de complete HTTP request content. Functies omvatten:

Deze functies helpen u ervoor te zorgen dat uw API correct werkt en presteert binnen de limieten die u opgeeft. Met de stapsgewijze aanpak kunt u beginnen met het configureren van zeer krachtige scenario's zonder complexiteit toe te voegen. Zolang u weet hoe uw API zich zou moeten gedragen, hoeft u geen programmeervaardigheden te hebben om aan de slag te gaan met API monitoring.. 

Een multi-step API controleregel creëren

Om een multi-step API controleregel toe te voegen doet u het volgende:

  1. Klik op + Controleregel toevoegen in het menu Controleregels.
  2. Kies Multi-step API in het menu Type
  3. Geef uw controleregel een Naam.
  4. Ga naar het tabblad Stappen om de details voor elke stap in de voeren. 

Uw nieuwe controleregel begint met een (lege) stap. Ga door en klik op de knop + Add step om extra stappen toe te voegen. U zult zien dat de lijst met stappen groeit. Klik op een stap om de details ervan te bewerken. Om een stap te verwijderen klikt u op de knop Delete step die verschijnt als u met de muisaanwijzer over de stappenlijst beweegt.
Klik op de knop Duplicate step om een kopie te maken van een bestaande stap.

Een stap configureren

Bekijk de eerste stap van onze controleregel, u ziet twee tabbladen aan de rechterkant van het scherm: Request en Response. Laten we ze bekijken.

Request

Request in Multi-step API Monitoring

Het tabblad Request bevat alle data die nodig zijn om de daadwerkelijke HTTP request in de stap uit te voeren. Doe ten minste het volgende:

  1. Kies de juiste HTTP method (GET, POST, PUT of DELETE. Als u een andere method nodig hebt, neem dan contact met ons op).
  2. Vul de URL in voor de request. Gebruik een volledig gekwalificeerde URL, inclusief het protocol (https:// of http://), de domeinnaam en het pad voor uw API, en eventuele query string parameters die u wilt opnemen.
  3. Voer optioneel een korte beschrijving in voor deze stap. Deze beschrijving verschijnt in de resultaten van de monitorcontrole.

Request body

Bij het opgeven van een POST of PUT request, verschijnt het veld Request body. Specificeer de data die u wilt verzenden als onderdeel van de request (hoogstwaarschijnlijk JSON data, XML data of gecodeerde formulierdata). In de meeste gevallen verwacht uw server dat u de indeling specificeert van de data die u verzendt, zodat het weet hoe deze data moeten worden gelezen en gedeconstrueerd. Om dit te doen moet u een Content-Type request header toevoegen zoals in de volgende alinea wordt beschreven.

Request headers

Een HTTP request bevat meestal enkele request headers om het formaat van de data die worden verzonden te specificeren, of om verder te beschrijven wat voor een soort respons verwacht wordt. Bijvoorbeeld, om de eerder genoemde Content-Type header toe te voegen, volgt u deze stappen:

  1. Klik op de knop Add request header om een request header key en value toe te voegen.
  2. Voer Content-Type in als as the header key.
  3. De juiste header value is afhankelijk van de data die u verzendt. De meest voorkomende content types zijn application/json voor JSON data, text/xml voor XML data en application/x-www-form-urlencoded voor webformulierendata.

Evenzo, als uw API vereist dat u authenticatie opneemt, voegt u een Authorization header toe samen met de juiste data in het veld Value.

Authenticatie

Veel API's zijn beveiligd en alleen toegankelijk door inloggegevens te verstrekken. Als uw API gebruikmaakt van authenticatie op het HTTP-protocolniveau, kies dan uw type authenticatie (Basic, NTLM or Digest) en vul de bijbehorende gebruikersnaam en wachtwoord in. Als alternatief kunt u een op OAuth gebaseerde authenticatie instellen met afzonderlijke stappen. Meer informatie over het instellen van ingebouwde of aangepaste authenticatie.

Response

Variables in Multi-step API Monitoring

Het tabblad Response bevat alle opties voor het uitvoeren van controles op responsdata (met behulp van Assertions) en het verwerken van die data ter voorbereiding op de volgende stap (met behulp van Variabelen).

Assertions

Het definiëren van uw stappen en het invoeren van de juiste data in deze stappen is de basis voor een bruikbare opzet. Het is echter ook belangrijk om naar de resultaten van elke stap te kijken. Alleen het aanroepen van een reeks URL's is niet zinvol als ze niet de juiste resultaten terugsturen. Assertions helpen u bij deze gezondheidscontroles.

Assertions zijn controles die u kunt uitvoeren om te verifiëren dat de respons zich in een bepaalde stap gedraagt als verwacht, bijvoorbeeld, door zijn content te controleren of te verifiëren of het binnen een bepaalde hoeveelheid tijd is opgehaald. Net als bij variabelen, geeft u de bron voor de controle op, bijvoorbeeld een JSON property van de JSON response body, een XPath query op de XML response body, of zelfs alleen de statuscode van de response, de duur ervan of de lengte van de inhoud.

Meer voorbeelden van Assertions: lees onze uitgebreide handleiding voor het definiëren van assertions.

Variables

Wanneer u multi-step scenario's aan het opzetten bent, is het waarschijnlijk dat ten minste één van die stappen afhankelijk is van invoer die tijdens een vorige stap is opgehaald. Door die invoer vast te leggen, tijdelijk op te slaan en mee te nemen naar de volgende stappen, creëert u een natuurlijke progressie van verbonden stappen, zonder dat u enige code hoeft te schrijven.

Dat is precies wat u met variables kunt doen! Elke stap kan nieuwe variabelen maken en heeft toegang tot variabelen die door andere stappen zijn gemaakt, zodat u data kunt hergebruiken die eerder in het scenario zijn vastgelegd.

U kunt definiëren waar een variabele vandaan moet komen: waarschijnlijk een bepaalde waarde uit JSON- of XML-data, maar het vastleggen van response headers of zelfs van data van een redirect is ook mogelijk. Nadat een variabele is gedefinieerd, kunt u deze eenvoudig overal in uw multi-step-opzet gebruiken door er met zijn naam naar te verwijzen: {{my-variable}}.

Meer voorbeelden van : Variables definiëren en gebruiken.

Resultaten, errors en alerts van een multi-step-controleregel

Multi-step API controleregels gedragen zich hetzelfde als elke andere controleregel. Elke controle verschijnt in de controleregel log en geeft uitgebreide informatie weer over elke afzonderlijke stap. Voor elke stap bestaat deze informatie uit:

  • de totale duur van de stap (in milliseconden)
  • de URL die werd uitgevoerd gedurende die stap
  • de HTTP statuscode die is geretourneerd
  • het resultaat voor iedere assertion (slagen of mislukken)
  • de request headers en content die we hebben verzonden
  • de response headers en content die we hebben ontvangen

Als er tijdens een van de stappen een probleem optreedt, of als een van de assertions die u hebt gedefinieerd mislukt, zal de monitor mislukken en een error rapporteren. Zoals gewoonlijk kunnen deze errors alerts genereren op basis van uw alertdefinities.

of cliëntcertificaten toevoegen om toegang te verkrijgen tot beveiligde API's.