Configure SPA Routing in .NET Core Application

When serving a Single Page Application (SPA) from a .NET Core service which also contains an API some configuration is required to return the SPA for relevant requests.

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            app.Use(async (context, next) =>
                string path = context.Request.Path.Value;

                if (!path.StartsWith("/api") && !Path.HasExtension(path))
                       If this is not an API request or a request for static content (e.g. css/javascript) 
                       then return the index.html of the SPA 
                    context.Response.ContentType = "text/html";
                    await context.Response.SendFileAsync("path/to/index.html");
                    await next.Invoke();

           // ...

More from David Strain
All posts