📨
SlackClone
  • Introduction
  • Server
    • Server Introduction
    • Getting Started
      • Install .NET Core 3
      • Create a Project
      • Install Dependencies - Mongo
      • Install Dependencies - PostgreSQL
        • PostgreSQL Install - Windows
        • Connect to PostgreSQL DB - pgAdmin
    • API
      • Setup HotChocolate Server
      • Add Playground
      • Data Model - PostgreSQL
        • PostgreSQL Entities
        • Database Context
        • Queries
          • Filtering
          • Sorting
        • Mutations
        • Subscriptions
      • Data Model - Mongo
        • Mongo Entities
        • Queries
  • Authorization
  • Authentication
  • Error Handling
  • Testing
  • Backend Summary
  • Client
    • Client Introduction
    • Getting Started
      • Install Dependencies
      • Create Project
    • App
      • Routing
      • Queries
        • Pagination
        • Sorting
        • Filtering
      • Mutations
      • Subscriptions
      • Authentication
    • Frontend Summary
Powered by GitBook
On this page
  1. Server
  2. API

Setup HotChocolate Server

We will begin by adding a very simple GraphQL server to a blank ASP.NET Core app. Modify Startup.cs to look like shown below.

./Startup.cs
using HotChocolate;
using HotChocolate.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;


namespace SlackClone
{
    public class Query
    {
        public string Hello => "World";
    }

    public class Startup
    {
        // This method gets called by the runtime. 
        // Use this method to add services to the container.
        // For more information on how to configure your application, 
        // visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            // Adds GraphQL Schema
            services.AddGraphQL(services =>
                SchemaBuilder.New()
                    .AddServices(services)
                    .AddQueryType<Query>()
                    .Create());
        }

        // This method gets called by the runtime. 
        // Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            // Adds GraphQL Service
            app.UseGraphQL();
        }
    }
}

After Startup.cs has been modified, we can start the server by typing dotnet run . Once the server is running, open a command prompt/ terminal and type the following curl command. Verify if you are running a secure server or not you may need to update the url.

curl -X POST
  -H "Content-Type: application/json"
  --data "{ \"query\": \"{ hello }\" }"
  https://localhost:5000

If everything went well you should see a response like below.

PreviousAPINextAdd Playground

Last updated 5 years ago