Object-to-table mapping schema NReco.GraphQL documentation
To query your DB tables as Graphql objects mapping schema needs to be configured in the SchemaObjects
section:
{ "SchemaObjects": [ { "SingleName": "company", "ListName": "companies", "Table": "Companies", "Description": "Companies table - contains data about the best companies ever", "Fields": [ { "Name": "id", "Column": "ID", "DataType": "string", "Description": "Unique identificator - using also to connect with contact" }, { "Name": "title", "DataType": "string" } ] } ] }
Property | Purpose |
---|---|
Table | Database table name (or view) that corresponds to this object. |
SingleName | Name that refers to a single object in GraphQL query. |
ListName | Name that refers to a list of objects in GraphQL query. |
Description | Object description. Used in results on schema queries (optional). |
Fields | Definitions of this object's fields. |
RelatedObjects | Definitions of the objects that may be queried as 'childs' of this object (optional). |
Now we can get a single node or multiple nodes (list of nodes) of the same GraphQL type (or schema) using a simple object query. All fields which have been defined in the object's schema may be used in the graphql query.
Fetch a single company object and a list of companies
query { company { id title } companies { id title } }
{ "data": { "company": { "id": 1, "title": "NReco Inc." }, "companies": [ { "id": 1, "title": "NReco Inc." }, { "id": 2, "title": "Google LLC" } } }
All fields from the schema may be used as parameters in the graphql query:
query { company(id:2) { id title } }
{ "data": { "company": { "id": 2, "title": "Google LLC" } } }