首页 > 解决方案 > 如何在 Web Api 2 中路由前端 html 文件?

问题描述

我有一个内置前端和纯页面的WebApi 2服务,我已将这些前端文件添加到我的WebApi 2项目中,以便更容易安装和部署到服务器。javascript/jqueryhtml

我所有的 js 文件和样式都在wwwroot其中,因为项目是由两个“应用程序”构建的,第一个htmlVMenu 文件夹中有文件,所以一旦我将html文件添加到项目中,我要做的下一件事就是创建静态文件路径为 em 并定义VMenu 文件夹的默认页面。

但是问题来了……我想提供诸如路由之类的文件,就像我在VMenuindex.html和.menu.htmlexpired.html

正如我在index.html写作时设置的默认值一样,example.com/vm/我能够看到索引我对menu.htmland也一样expired.html,希望看到menu.html我能够只写example.com/vm/menu 而不是 example.com/vm/menu.html

但是我找不到更多关于这种类型的路由,我发现的所有项目都是基于剃须刀页面的......

这是我的启动配置:

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

        app.UseDefaultFiles();

        app.UseStaticFiles();

        app.UseDefaultFiles(new DefaultFilesOptions()
        {
            FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "VMenu")),
            RequestPath = "/vm"
        });

        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new PhysicalFileProvider(
            Path.Combine(Directory.GetCurrentDirectory(), "VMenu")),
            RequestPath = "/vm"
        });

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseCors();

        app.UseAuthentication();

        app.UseAuthorization();

        app.UseCookiePolicy();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }

标签: c#asp.net-web-api2url-routing

解决方案


推荐阅读