Skip to content

Network Device Inventory Service 🧾

Lyes Sefiane edited this page Feb 17, 2023 · 8 revisions

Table Of Contents

Objective

The purpose of this application is to expose a graph representation of Network Devices with a relational approach as RESTful Web Service, developed with Java ecosystem ( Technology Stack ❀ ), leveraging HTTP methods described by the RFC 2616 protocol with the following requests :

  • GET to fetch Network Device(s)
  • PUT to alter a Network Device
  • POST to create a Network Device
  • DELETE to eliminate a Network Device
[
    {
        "address": "10.133.13.12",
        "elementType": "router",
        "neighbors": [
            {
                "address": "10.133.13.13",
                "cost": 2
            },
            {
                "address": "10.133.13.14",
                "cost": 3
            },
            {
                "address": "10.133.13.15",
                "cost": 1
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.12"
            }
        ]
    },
    {
        "address": "10.133.13.13",
        "elementType": "server",
        "neighbors": [],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.13"
            }
        ]
    },
    {
        "address": "10.133.13.14",
        "elementType": "wireless router",
        "neighbors": [
            {
                "address": "10.133.13.16",
                "cost": 5
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.14"
            }
        ]
    },
    {
        "address": "10.133.13.15",
        "elementType": "switch",
        "neighbors": [
            {
                "address": "10.133.13.17",
                "cost": 4
            },
            {
                "address": "10.133.13.18",
                "cost": 4
            },
            {
                "address": "10.133.13.19",
                "cost": 4
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.15"
            }
        ]
    },
    {
        "address": "10.133.13.16",
        "elementType": "laptop",
        "neighbors": [],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.16"
            }
        ]
    },
    {
        "address": "10.133.13.17",
        "elementType": "desktop computer",
        "neighbors": [
            {
                "address": "10.133.13.18",
                "cost": 0
            },
            {
                "address": "10.133.13.19",
                "cost": 0
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.17"
            }
        ]
    },
    {
        "address": "10.133.13.18",
        "elementType": "desktop computer",
        "neighbors": [
            {
                "address": "10.133.13.19",
                "cost": 0
            }
        ],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.18"
            }
        ]
    },
    {
        "address": "10.133.13.19",
        "elementType": "desktop computer",
        "neighbors": [],
        "links": [
            {
                "rel": "self",
                "href": "http://localhost:8080/inventory/api/v1/network-devices/10.133.13.19"
            }
        ]
    }
]
Clone this wiki locally