This is a small project made for understanding the basics of GraphQL.
This project contains a small web client from which a user can type a graphQL query that is sent through http to a dotnet server. This server send the necessary front-end files to the browser and catch graphQL queries, execute them and send back the requested json object to the client. Then the vuejs framework updates automatically the result section of the webpage with the json object.
- Create a dotnet solution
mkdir GraphQLProject
cd GraphQLProject
dotnet new sln
- Create a console app
dotnet new console -o App
cd App
- Add the GraphQL library to the project
dotnet add package GraphQL
- Add / Replace files / folders by those in this repository
At the end you should have this tree:
│ App.csproj
│ Program.cs
│
├───bin
│ │
│
├───obj
│ │
│
└───webpage
index.html
script.js
style.css
- Start the Server
dotnet run
- Start an instance of your favourite browser and type this URL: http://localhost:8080/
By default the client query everything.
You can change the query to get less data.
For example:
{movies{title,year,director}}
For now only GraphQL queries without any argment can be done.
- Add arguments to GraphQL queries
- Add mutation to graphQL schema
- Move the Schema in a separate file
- Move the json data to an external file