В проекте используется Nats для создания API. И mux для frontend API Для загрузки зависимостей используется Go modules Проект основывается на другом моём проекте.
Запускать сначала докер для nats (см. ниже), потом запускаем /api/api.go Настройки api хранятся в settings.json, который должен находится в той же директории где запускается api.
Название | Запрос | Описание |
---|---|---|
Загрузить ресурс в список элементов | /v1/fetch | в тело запроса передать json (стандарт RFC7159) формат см. ниже |
Получение элемента | /v1/get/{id} | где id это id записи |
Получение списка элементов | /v1/list/ | |
Удаление элемента | /v1/delete/{id} | где id это ид записи |
Оба поля в запросе обязательны, реализовано для метода GET, в Url не забывайте передавать адрес с указание протокола.
Запрос:
{"Method":"GET", "Url":"https://yandex.ru/"}
Ответ:
{
"ID": "FiaIju1i",
"StatusHttp": 200,
"Headers": {
"Content-Length": [
"6799"
],
"Content-Type": [
"text/html; charset=utf-8"
],
"Date": [
"Sun, 31 Mar 2019 15:03:37 GMT"
],
"Vary": [
"Accept-Encoding"
],
"Via": [
"1.1 google"
],
"X-Cloud-Trace-Context": [
"774e384fcbe5fba78c97d996af237918/14559797058275749798;o=1"
]
},
"Length": 6799
}
Примечание: Для запросов при которых случилась какая то ошибка, к примеру нет элеметов для отображения, выводит ответ в след. формате:
{
"Status": 404,
"Description": "no element id: bDaYSlZX"
}
Как установить и запустить Docker:
- Установка Docker-CE (ubuntu)
- Установка Docker compose
sudo docker-compose up
- запустится на 10000 порту
Файл настроек используется формат json по RFC7159
Пример настроек settings.json:
{
"name": "FetchTaskServer",
"version": "1.0.0",
"port" : "10000",
"nats": {
"version" : "1.4.2",
"reconnectedWait" : 5,
"address" : [
{
"host" : "localhost",
"port" : "54222"
},
{
"host" : "localhost",
"port" : "54222"
}
]
}
}