0

我正在开发一个带有 spa 前端的 .net 核心 oAuth 控制器。

上有邮递路线[HttpPost("~/connect/logout"), ValidateAntiForgeryToken]。我希望这个 url 的 get 路由回退到 spa 应用程序。当前,.net 给出了不允许的 405 方法,如果同一路由有 post 方法。

如何制定回退到水疗服务的获取路线?

我试过添加endpoints.MapFallbackToFile("/index.html");,但这给出了 404。

启动.cs

public void ConfigureServices(IServiceCollection services)
        {
            services.AddSpaStaticFiles(configuration => { configuration.RootPath = "ClientApp/build"; });
            
            services.AddControllers();
            
            ...
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseStaticFiles();
            app.UseSpaStaticFiles();
            
            app.UseRouting();
            
            app.UseAuthentication();
            app.UseAuthorization();
            
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller}/{action=Index}/{id?}");

                // endpoints.MapFallbackToFile("/index.html");
                // endpoints.MapFallbackToFile("{**slug}", "index.html");           
            });
            
            app.UseSpa(spa =>
            {
                spa.Options.SourcePath = "ClientApp";

                if (env.IsDevelopment())
                {
                    spa.UseProxyToSpaDevelopmentServer("http://localhost:3000");
                }
            });
4

0 回答 0