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.

Last updated