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 eigen server) zijn dat de SaaS-aanbieding bij elke linter-aanvraag autorisatie vereist met een API (het /lint-source eindpunt).
Meer algemene informatie over de eindpunten blootgesteld door 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. Je kunt de stappen die nodig zijn om de sleutel te verkrijgen vinden 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 eigen server versie van de Axe DevTools Linter Server moet je deze instellen (zoals gedetailleerd 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 zien of je toegang hebt tot de server, kun je curl (of een webbrowser) gebruiken. Het volgende curl-voorbeeld laat zien hoe je het status eindpunt van Axe DevTools Linter SaaS gebruikt:
curl https://axe-linter.deque.com/statusJe moet https in plaats van http specificeren 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 het <server IP-adres> en <serverpoort> in de bovenstaande opdracht vervangen.
Als de server beschikbaar is, zal deze reageren met:
OkJe kunt ook dezelfde URL bezoeken (bijvoorbeeld, https://axe-linter.deque.com/status) met een webbrowser en zou hetzelfde resultaat moeten zien.
Het volgende voorbeeld laat zien hoe je toegang krijgt tot het healthcheck eindpunt:
curl https://axe-linter.deque.com/healthcheckDe server zou moeten reageren met het volgende:
{
"version": "4.4.0"
}Net als bij het status eindpunt, kun je ook https://axe-linter.deque.com/healthcheck met een webbrowser bezoeken en hetzelfde resultaat krijgen als met curl.
Om de bron te controleren op toegankelijkheidsfouten, moet je een POST verzoek maken. Je kunt **curl** of een tool zoals Postman.
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 weergegeven 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 volledige **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 de --url argument wijzigen 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, ontving je een antwoord dat een **rapport** object bevat met een **fouten** array van **fout** objecten. Zie Reactie voor meer informatie over dit respons-object.
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 dat geval kun je proberen je API-sleutel opnieuw aan te maken of contact op te nemen met de Deque Helpdesk voor hulp.
Zie ook
- Zie Een API-sleutel verkrijgen voor de stappen die nodig zijn om een API-sleutel te krijgen die nodig is voor het gebruik van Axe DevTools Linter SaaS.
- Zie Axe DevTools Linter Server REST API Referentie voor een referentie naar de API's die door Axe DevTools Linter Server worden aangeboden, evenals extra opties voor de **linter-bron** eindpunt.
- De Axe DevTools Linter REST API Gebruiksvoorbeeld bevat een curl voorbeeld en een Python voorbeeld dat je kunt gebruiken met Axe DevTools Linter Server.
