https://github.com/mkmarek/graphql-dotnetcore
  
  
    GraphQL for .NET core based on https://github.com/graphql/graphql-js 
    https://github.com/mkmarek/graphql-dotnetcore
  
api csharp dotnetcore graphql
        Last synced: 8 months ago 
        JSON representation
    
GraphQL for .NET core based on https://github.com/graphql/graphql-js
- Host: GitHub
 - URL: https://github.com/mkmarek/graphql-dotnetcore
 - Owner: mkmarek
 - License: mit
 - Archived: true
 - Created: 2016-06-11T21:30:04.000Z (over 9 years ago)
 - Default Branch: master
 - Last Pushed: 2019-01-13T14:24:33.000Z (almost 7 years ago)
 - Last Synced: 2024-10-27T07:32:18.774Z (about 1 year ago)
 - Topics: api, csharp, dotnetcore, graphql
 - Language: C#
 - Homepage:
 - Size: 717 KB
 - Stars: 100
 - Watchers: 19
 - Forks: 11
 - Open Issues: 2
 - 
            Metadata Files:
            
- Readme: README.md
 - License: LICENSE
 
 
Awesome Lists containing this project
- awesome-dotnet-core - graphql-dotnetcore - GraphQL for .NET Core based on [https://github.com/graphql/graphql-js](https://github.com/graphql/graphql-js). (Frameworks, Libraries and Tools / API)
 - awesome-dotnet-core - graphql-dotnetcore - GraphQL for .NET Core based on [https://github.com/graphql/graphql-js](https://github.com/graphql/graphql-js). (Frameworks, Libraries and Tools / API)
 - awesome-dotnet-core - graphql-dotnetcore - 基于[graphql-js](https://github.com/graphql/graphql-js)的.NETQL GraphQL。 (框架, 库和工具 / API)
 - fucking-awesome-dotnet-core - graphql-dotnetcore - GraphQL for .NET Core based on <b><code> 20268⭐</code></b> <b><code>  2056🍴</code></b> [https://github.com/graphql/graphql-js](https://github.com/graphql/graphql-js)). (Frameworks, Libraries and Tools / API)
 
README
          # 
Library for creating GraphQL servers with .NET core.
[](https://travis-ci.org/mkmarek/graphql-dotnetcore)
[](https://coveralls.io/github/mkmarek/graphql-dotnetcore?branch=master)
[](https://www.nuget.org/packages/GraphQLCore/)
[](https://www.myget.org/feed/graphqlcore-ci/package/nuget/GraphQLCore)

## Code Example
```csharp
public class Query : GraphQLObjectType
{
	public Query() : base("Query", "Root query defintion")
	{
		this.Field("sum", (int[] numbers) => numbers.Sum());
	}
}
public class MyAwesomeSchema : GraphQLSchema
{
    public MyAwesomeSchema()
    {
        var rootQuery = new Query();
        this.AddKnownType(rootQuery);
        this.Query(rootQuery);
    }
}
[Route("api/[controller]")]
public class GraphQLController : Controller
{
    private MyAwesomeSchema schema = new MyAwesomeSchema();
    [HttpPost]
    public JsonResult Post(string query)
    {
        return this.Json(
            new
            {
                data = this.schema.Execute(query)
            }
        );
    }
}
```
### Query
```graphql
{
  sum(numbers: [1,2,3])
}
```
### Result
```json
{
  "sum" : 6
}
```
Interested? Have a look on a better example [here](examples/GraphQLCore.GraphiQLExample)!
## Documentation
1. Scalar type translation
2. Nullability
3. [Untyped object definition](docs/untyped-object-definition/overview.md)
	- [Resolvers](docs/untyped-object-definition/overview.md#resolvers)
4. [Typed object definition](docs/typed-object-definition/overview.md)
	- [Accessors](docs/typed-object-definition/overview.md#accessors)
	- [Resolvers](docs/typed-object-definition/overview.md#resolvers)
5. [Interfaces](docs/interfaces/overview.md)
    - [Accessors](docs/interfaces/overview.md#accessors)
6. [Input object definition](docs/input-object-definition/overview.md)
	- [Accessors](docs/input-object-definition/overview.md#accessors)
7. Schema
    - Queries
    - Mutations
    - Subscriptions (TBD)
    - Execution
8. Introspection
9. Validation
10. Roadmap
## Contributions
Wanna contribute? Awesome! Please follow this process to get your feature
or bugfix in place.
### Fork it

### Clone it
```
git clone https://github.com//graphql-dotnetcore.git
cd graphql-dotnetcore
```
### Do it
```
git checkout develop
...
git add -A
git commit -m "Awesome feature"
...
git add -A
git commit -m "Fix awesome feature"
...
git add -A
git commit -m "Fix the previous fix for awesome feature"
...
```
### Squash it
```
git rebase -i 
```
More info about squashing [http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html).
### Push it
```
git push
```
### Request it
The final step will be creating a pull request. Refer the github docs
for more details about that [https://help.github.com/articles/using-pull-requests/](https://help.github.com/articles/using-pull-requests/)