Aan de slag met Axe DevTools Linter ontwikkelen

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Een gids voor het beginnen met het gebruik van de REST API-diensten geleverd door Axe DevTools Linter

Free Trial
Not for use with personal data

Dit artikel beschrijft hoe je kunt beginnen met het gebruiken van de REST API-diensten die worden aangeboden door de eigen server editie van Axe DevTools Linter of Axe DevTools Linter SaaS. De diensten worden geleverd via REST-eindpunten, dus je moet ervaring hebben met een REST-tool zoals Postman, CocoaRestClient of de VS Code REST Client-extensie. Je kunt ook toegang krijgen tot de diensten met een programmeertaal zoals Python.

De verschillen tussen de twee edities van Axe DevTools Linter (Axe DevTools Linter SaaS versus de on-premises server) zijn dat de SaaS-aanbieding bij elke linteraanvraag autorisatie vereist met behulp van een API (de /lint-source endpoint).

tip

Algemenere informatie over de endpoints die beschikbaar zijn via de Axe DevTools Linter REST-service wordt beschreven in de REST API's Referentie.

Eerste stappen

Als je de SaaS-editie van de Axe DevTools Linter Server gebruikt, moet je eerst een API-sleutel verkrijgen. De stappen die nodig zijn om de sleutel te verkrijgen vind je in Een Axe DevTools Linter SaaS API-key verkrijgen.

note

Als je de connectiviteit met Axe DevTools Linter SaaS wilt controleren, kun je enkele van de REST-eindpunten zonder een API-sleutel benaderen. Dit geval wordt behandeld in de volgende sectie.

Voor de on-premises versie van de Axe DevTools Linter Server moet je deze instellen (zoals beschreven in De Axe DevTools Linter Server op locatie installeren) en vervolgens het IP-adres van de server verkrijgen. Je hebt ook de poort nodig waarop de server luistert (standaard is poort 3000).

Je verbinding testen met curl

Twee van de REST-eindpunten van Axe DevTools Linter SaaS vereisen geen authenticatie, zodat je je verbinding kunt testen voordat je een API-sleutel verkrijgt.

Als je een eenvoudige test wilt uitvoeren om te controleren of je toegang hebt tot de server, kun je **curl** gebruiken (of een webbrowser). Het volgende curl-voorbeeld laat zien hoe de status endpoint van Axe DevTools Linter SaaS te gebruiken:

curl https://axe-linter.deque.com/status
note

Je moet https specificeren in plaats van http bij het verbinden met Axe DevTools Linter SaaS.

Voor de eigen server versie zou je het volgende typen:

curl http://<server IP address>:<server port>/status

Je moet de <server IP-adres> en <serverpoort> in het bovenstaande commando vervangen.

Als de server beschikbaar is, zal deze reageren met:

Ok

Je kunt ook dezelfde URL (bijvoorbeeld, https://axe-linter.deque.com/status) bezoeken met een webbrowser en zou hetzelfde resultaat moeten zien.

Het volgende voorbeeld toont hoe toegang te krijgen tot de healthcheck endpoint:

curl https://axe-linter.deque.com/healthcheck

De server zou moeten reageren met het volgende:

{
  "version": "4.4.0"
}

Net als met de status endpoint kun je ook https://axe-linter.deque.com/healthcheck met een webbrowser bezoeken en hetzelfde resultaat krijgen als met curl.

Om de bron op toegankelijkheidsfouten te controleren, moet je een POST-verzoek maken. Je kunt **curl** of een tool zoals Postman gebruiken.

In Postman of een andere REST-tool moet je een header maken zoals hieronder weergegeven:

POST https://axe-linter.deque.com/lint-source
content-type: application/json
authorization: <YOUR API KEY>

Als je Axe DevTools Linter SaaS gebruikt, moet je vervangen door je API-sleutel. Als je de on-premises server gebruikt, hoef je de **autorisatie** header niet te gebruiken, maar moet je de URL wijzigen naar het IP- en poortadres van je on-premises server.

Met **curl** zou de equivalente header als de hierboven getoonde zijn:

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'

Je moet ook een body van de aanvraag als een JSON-object specificeren voordat de aanvraag is voltooid:

{
  "source": "# Heading\n### Another Heading\n",
  "filename": "file.md"
}

Het complete **curl**-commando is:

curl --request POST --url https://axe-linter.deque.com/lint-source \
  --header 'content-type: application/json' \
  --header 'authorization: <YOUR API KEY>'
  --data '{ "source": "# Heading\n### Another Heading\n",
    "filename": "file.md" }'

Voor de on-premises server moet je het --url argument aanpassen en de --header 'autorisatie: <JE API SLEUTEL>' regel verwijderen.

Hieronder staat een voorbeeldreactie op de bovenstaande aanvraag:

HTTP/1.1 200 OK
Date: Mon, 14 Mar 2022 14:04:19 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 419
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"1a3-cfgZ30xjvW815mLDpbjoGXreu2o"

{
  "report": {
    "errors": [
      {
        "ruleId": "heading-order",
        "helpURL": "https://dequeuniversity.com/rules/axe/4.4/heading-order?application=axe-linter",
        "description": "Ensures the order of headings is semantically correct",
        "lineContent": "### Another heading",
        "lineNumber": 2,
        "linterType": "md",
        "column": 1,
        "endColumn": 20
      }
    ]
  }
}

Omdat dit voorbeeld een toegankelijkheidsprobleem heeft, heb je een antwoord ontvangen dat een **rapport** object bevat met een **fouten** array van **fout** objecten. Zie Reactie voor meer informatie over dit reactieobject.

Als je API-sleutel niet bestaat wanneer je Axe DevTools Linter SaaS gebruikt, ontvang je een antwoord zoals dit:

HTTP/1.1 404 Not Found
Date: Fri, 11 Mar 2022 22:38:51 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 33
Connection: close
X-Powered-By: Express
Surrogate-Control: no-store
Cache-Control: no-store, no-cache, must-revalidate, proxy-revalidate
Pragma: no-cache
Expires: 0
ETag: W/"21-HAVNeHb+a8RfOcMl419aKM67S20"

{
  "error": "No API key found"
}

In dit geval kun je proberen je API-sleutel opnieuw te maken of de Deque Helpdesk te raadplegen voor hulp.

Zie ook