Skip to content

Rest api

mactoob edited this page Nov 21, 2011 · 30 revisions

REST API

Ścieżki podane poniżej są bez prefiksu - np. /backend.

TIP (wysyłanie żądania pod podany adres z daną metodą): curl -X POST http://asvis.local.pl/backend -b numbers=[1,3,5]

Do przemyślenia - synchronizacja baz.

Node'y

GET /nodes/find/[number]

Wyszukuje node'y po numerze, zwraca w kolejności alfabetycznej.

  • params:

    • number [int] - wyszukuje na zasadzie ilike value%
  • example: GET /node/find/345 - wyszukuje wszystkie numery wierzchołków rozpoczynające się od "345"

    • response:
{
    "34567": {"name":"AS34567"}
    "34579": {"name":"AS34579"}
    "345": {"name":"AS345"}
}

POST /nodes/meta

  • params:

    • numbers [str] - przykład: "[1234,2345,52345,234523]"
  • example: POST /nodes/meta

    • response:
{
    "1234": {"name":"AS1234", "pools":[{"ip":"193.110.32.0","mask":21}, ...]},
    "4234": {"name":"AS4234", "pools":[{"ip":"198.136.146.0","netmask":12, ...}, ...]},
}

Struktury

GET /structure/graph/[node_number]/[depth]

Kolejność od node'ów o większej ilości (całkowitej) połączeń, do tych z mniejszą.

  • params:

    • node_number [int]
    • depth [int]
  • example: POST /structure/graph/345/10 - pobierz strukturę grafu od wierzchołka 345 do 10 połączeń wgłąb

    • response:
{
    "structure":{
        "306":{
            "out":[316,317,...,575],
            "in":[316,317,...,575],
            "distance":0,
            "weight":68
        },
        "306":{
            ...
        },
        ...
    },
    "weight_order":[306,575,...,343],
    "distance_order":[306,352,...,1733]
}

GET /structure/tree/[node_number]/[height]/[dir]

  • params:

    • node_number [int]
    • height [int]
    • dir [string] - przyjmowane wartości: "up", "down", "both"
  • example: GET /structure/tree/306/2/up - zwraca strukturę nodów, do których download danych spoza struktury odbywa się jedynie poprzez główny wierzchołek

    • response:
{
    "structure":{
        "306":{
            "out":[316,317,...,575],
            "in":[316,317,...,575],
            "distance":0,
            "weight":68
        },
        "306":{
            ...
        },
        ...
    },
    "weight_order":[306,575,...,343],
    "distance_order":[306,352,...,1733]
}
Clone this wiki locally