Adatbázisnézetek a GraphQL API-ban

A nézetek a Data API Builder (DAB) tábláinak alternatíváiként támogatottak. A nézet minimális konfigurációjú GraphQL-végpontokon keresztül jeleníthető meg.

Konfiguráció

Nézet megjelenítése:

  • Állítsa be a source.type-t a "view"-re.
  • Állítsa be source.object a teljesen kiépített nézetnévre
  • Egy sor egyedi azonosításához definiálja a key-fields
  • Engedély megadása a "read" művelet használatával (és opcionálisan"create", "update""delete" ha a nézet frissíthető)

Példa parancssori felületre

dab add BookDetail \
  --source dbo.vw_books_details \
  --source.type "view" \
  --fields.name "id" \
  --fields.primary-key "true" \
  --permissions "anonymous:read"

Példa konfigurációra

"BookDetail": {
  "source": {
    "type": "view",
    "object": "dbo.vw_books_details",
    "key-fields": [ "id" ]
  },
  "permissions": [
    {
      "role": "anonymous",
      "actions": [ "read" ]
    }
  ]
}

GraphQL-viselkedés

  • A nézet GraphQL-típusként jelenik meg
  • A lekérdezések mindig támogatottak vannak.
  • A mutációk csak akkor támogatottak, ha a nézet frissíthető
  • A szabványos DAB GraphQL-sémastruktúrát követi

Példa lekérdezés

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

Jogosultságok

  • A read művelet használata csak olvasható nézetekhez
  • Használja create, updateés delete csak akkor, ha a nézet frissíthető

Korlátozások

  • key-fields kötelező
  • A nézetek nem támogatják a kapcsolatokat
  • A lapozás, a szűrés és a rendezés akkor támogatott, ha a nézet táblázatként viselkedik