Aan de slag met Axe DevTools Linter ontwikkelen
Een gids voor het beginnen met het gebruik van de REST API-diensten geleverd door Axe DevTools Linter
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).
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.
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/statusJe 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>/statusJe moet de <server IP-adres> en <serverpoort> in het bovenstaande commando vervangen.
Als de server beschikbaar is, zal deze reageren met:
OkJe 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/healthcheckDe 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
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
- Zie Een API-sleutel verkrijgen voor de stappen die nodig zijn om een API-sleutel te krijgen die nodig is om Axe DevTools Linter SaaS te gebruiken.
- Zie Axe DevTools Linter Server REST API Referentie voor een referentie naar de API's geleverd door Axe DevTools Linter Server evenals aanvullende opties voor de **linter-bron** endpoint.
- De Axe DevTools Linter REST API Gebruiksvoorbeeld bevat een curl voorbeeld en een Python voorbeeld die je kunt gebruiken met Axe DevTools Linter Server.
