Классы данных

  • Как хранить?
  • Как передавать?

HATEOUS

{ 
  "name": "Product Catalog", 
  "description": "API for managing product catalog", 
  "links": [ 
    { "rel": "self", "href": "/product-catalog" }, 
    { "rel": "products", "href": "/products" }, 
    { "rel": "orders", "href": "/orders" }, 
    { "rel": "profile", "href": "/profile", 
      "type": "application/hal+json" }
  ]
}

Ссылки между репозиториями

{
  "lesson_id": 123,
  "date": "2022-08-16",
  "students": [
     {"student_id": 456, "name": "John"},
     {"student_id": 789, "name": "Mary"}
  ]
}

Перекрестные ссылки между серверами

{ "name": "Пример", 
  "description": "Пример с объектами с другого REST сервера", 
  "items": [ 
    { "id": 1, "name": "Первый объект", 
      "relatedObject": { "id": 101, 
        "name": "Объект на другом REST сервере", 
        "url": "http://another-rest-server.com/api/item/101" } }, 
    { "id": 2, "name": "Второй объект", 
      "relatedObject": { "id": 102, 
        "name": "Другой объект на другом REST сервере", 
        "url": "http://another-rest-server.com/api/item/102" } } 
  ] }

Языки запросов

  • SQL
  • XQL
  • RESTfull
  • GraphQL