Closed
Description
Describe the bug
Defining routes / endpoints for API Controllers on a Blazor Server-Side project isn`t working. I had it working on previous Blazor versions but can't it to work on 0.9.0-preview3-19154-02.
To Reproduce
startup.cs code:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().AddNewtonsoftJson().SetCompatibilityVersion(Microsoft.AspNetCore.Mvc.CompatibilityVersion.Version_3_0);
services.AddRazorPages();
services.AddServerSideBlazor();`
//services.AddAuthentication(o => o.DefaultAuthenticateScheme = AzureADB2CDefaults.CookieScheme)
// .AddAzureADB2C(options => Configuration.Bind("AzureADB2C", options))
// .OnLogin(principal =>
// {
// services.BuildServiceProvider().GetRequiredService<LoginCommand>()
// .Execute(principal, principal.AzureID(), principal.Email(), principal.DisplayName());
// });
services.AddBlazorModal();
AddRepositories(services);
AddCommands(services);
AddHttpClient(services);
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();
app.UseStaticFiles();
//app.UseAuthentication();
//app.UseMvcWithDefaultRoute();
app.UseRouting();
//app.UseMvc();
//app.UseMvc(routes =>
//{
// routes.MapRoute(
// name: "default",
// template: "{controller=Home}/{action}/{id?}");
//});
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller}/{action}");
endpoints.MapControllers();
//endpoints.MapRazorPages();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
}
API Controller:
[Produces("application/json")]
[Route("api/[controller]")]
[ApiController]
public class DataController : Controller
{
[HttpPost]
[Route("UploadPhoto")]
public async Task<string> UploadFile(UploadFileParameters file)
{
return null;
}
[HttpGet]
[Route("Test")]
public string Test()
{
return "abc";
}
}`
Expected behavior
Posting to https://localhost:xxxxx/api/Data/UploadPhoto
Or getting from: https://localhost:xxxxx/api/Data/Test should work.