Pull request: * home, openapi: improve docs and responses

Merge in DNS/adguard-home from 2243-better-docs to master

Closes #2243.

Squashed commit of the following:

commit 26c655a0e4339528870633c2cdf39c3b5c486b1d
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Thu Nov 5 12:51:43 2020 +0300

    * openapi: improve more

commit dc0ab9857787d14eb0686814a4f3c8f917698bee
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Nov 3 20:40:32 2020 +0300

    * home, openapi: improve docs and responses
This commit is contained in:
Ainar Garipov
2020-11-05 13:59:57 +03:00
parent 62cc334f46
commit 02d16a0b40
4 changed files with 65 additions and 31 deletions

View File

@@ -1,25 +1,35 @@
## AdGuard Home OpenAPI
# AdGuard Home OpenAPI
We are using [OpenAPI specification](https://swagger.io/docs/specification/about/) to generate AdGuard Home API specification.
We are using
[OpenAPI specification](https://swagger.io/docs/specification/about/)
to generate AdGuard Home API specification.
### How to edit the API spec
## How To Edit The API Spec
The easiest way would be to use [Swagger Editor](http://editor.swagger.io/) and just copy/paste the YAML file there.
The easiest way would be to use
[Swagger Editor](http://editor.swagger.io/)
and just copy/paste the YAML file there.
### How to read the API doc
## How To Read The API Doc
1. `yarn install`
2. `yarn start`
3. Open `http://localhost:4000/`
### Changelog
## Changelog
[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being made.
[Here](CHANGELOG.md) we keep track of all non-compatible changes that are being
made.
### Authentication
## Authentication
If AdGuard Home's web user is password-protected, a web client must use authentication mechanism when sending requests to server. Basic access authentication is the most simple method - a client must pass `Authorization` HTTP header along with all requests:
If AdGuard Home's web user is password-protected, a web client must use
authentication mechanism when sending requests to server. Basic access
authentication is the most simple method - a client must pass `Authorization`
HTTP header along with all requests:
Authorization: Basic BASE64_DATA
```http
Authorization: Basic BASE64_DATA
```
where BASE64_DATA is base64-encoded data for `username:password` string.
Where BASE64_DATA is base64-encoded data for `username:password` string.