Questo articolo descrive come iniziare a utilizzare i servizi REST API forniti dall'edizione on-premises di axe DevTools Linter o axe DevTools Linter SaaS. I servizi sono forniti da endpoint REST, quindi è richiesta esperienza con uno strumento REST come Postman, CocoaRestClient o l'estensione VS Code REST Client. È possibile accedere ai servizi anche con un linguaggio di programmazione come Python.
Le differenze tra le due edizioni di axe DevTools Linter (axe DevTools Linter Saas rispetto al server locale) sono che l'offerta SaaS richiede l'autorizzazione tramite un'API con ogni richiesta linter ( endpoint /lint-source ).
Informazioni più generali sugli endpoint esposti dal servizio REST axe DevTools Linter sono descritte nel Riferimento alle API REST.
Primi passi
Se si utilizza l'edizione SaaS di axe DevTools Linter Server, è necessario prima ottenere una chiave API. Puoi trovare i passaggi necessari per ottenere la chiave in Ottenere una chiave API SaaS axe DevTools Linter.
Se desideri verificare la connettività con axe DevTools Linter SaaS, puoi accedere ad alcuni endpoint REST senza una chiave API. Questo caso è trattato nella prossima sezione.
Per la versione locale di axe DevTools Linter Server, sarà necessario configurarla (come descritto in Installazione di axe DevTools Linter Server locale) e quindi ottenere l'indirizzo IP del server. Ti servirà anche la porta su cui è in ascolto il server (quella predefinita è la porta 3000).
Test della connessione con curl
Due degli endpoint REST di axe DevTools Linter SaaS non richiedono autenticazione, così puoi testare la tua connessione prima di ottenere una chiave API.
Se vuoi eseguire un semplice test per verificare se riesci ad accedere al server, puoi usare curl (o un browser web). Il seguente esempio di curl mostra come utilizzare l'endpoint status di axe DevTools Linter SaaS:
curl https://axe-linter.deque.com/status
Quando ci si connette ad axe DevTools Linter SaaS, è necessario specificare https invece di http .
Per la versione on-premises, dovrebbe digitare quanto segue:
curl http://<server IP address>:<server port>/status
È necessario sostituire <indirizzo IP del server> e <porta del server> nel comando precedente.
Se il server è disponibile, risponderà con:
Ok
Puoi anche visitare lo stesso URL (ad esempio, https://axe-linter.deque.com/status) con un browser web e dovrebbe ottenere lo stesso risultato.
L'esempio seguente mostra come accedere all'endpoint healthcheck :
curl https://axe-linter.deque.com/healthcheck
Il server dovrebbe rispondere con quanto segue:
{
"version": "4.4.0"
}
Come per l'endpoint stato , puoi anche visitare https://axe-linter.deque.com/healthcheck Con un browser web e ottenere lo stesso risultato di curl.
Per verificare la presenza di errori di accessibilità nella fonte, è necessario creare una richiesta POST . Puoi usare curl o uno strumento come Postman.
In Postman o in un altro strumento REST, è necessario creare un'intestazione come quella mostrata di seguito:
POST https://axe-linter.deque.com/lint-source
content-type: application/json
authorization: <YOUR API KEY>
Se si utilizza axe DevTools Linter SaaS, è necessario sostituire
Con curl l'intestazione equivalente a quella mostrata sopra sarebbe:
curl --request POST --url https://axe-linter.deque.com/lint-source \
--header 'content-type: application/json' \
--header 'authorization: <YOUR API KEY>'
È inoltre necessario specificare il corpo della richiesta come oggetto JSON prima che la richiesta sia completa:
{
"source": "# Heading\n### Another Heading\n",
"filename": "file.md"
}
Il comando completo curl è:
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" }'
Per il server on-premise, è necessario modificare l'argomento --url e rimuovere l' --header 'authorization: <YOUR API KEY>' linea.
Di seguito è riportato un esempio di risposta alla richiesta di cui sopra:
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
}
]
}
}
Poiché questo esempio presenta un problema di accessibilità, hai ricevuto una risposta contenente un oggetto report contenente un array di oggetti error . **** Per maggiori informazioni su questo oggetto di risposta, vedere Risposta .
Se la tua chiave API non esiste quando utilizzi axe DevTools Linter SaaS, riceverai una risposta come questa:
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 questo caso, puoi provare a ricreare la tua chiave API o contattare l'Help Desk Deque per ricevere assistenza.
Vedere anche
- Consultare Ottenere una chiave API per i passaggi necessari per ottenere una chiave API necessaria per utilizzare axe DevTools Linter SaaS.
- Vedere axe DevTools Linter Server REST API Reference per consultare le API fornite da axe DevTools Linter Server, nonché per l'endpoint linter-source opzioni aggiuntive.
- L'esempio di utilizzo dell'API REST di axe DevTools Linter contiene un esempio di curl e un esempio di Python che puoi utilizzare con axe DevTools Linter Server.