title: Blazor Webassembly - Controller behaviour is not working as expected
body: <p>i need some help with my controller logic, especially with the repsonse of it.</p>
  <p>It is defined as &quot;KPIValue&quot; and contains multiple Get-methods:</p>
  <pre><code>[Route(&quot;api/[controller]&quot;)]
  [ApiController]
  public class KPIValueController : ControllerBase
  {
          [HttpGet]
          public List&lt;KPIValue&gt; Get()
          {
              List&lt;KPIValue&gt; kpiList = new();
              [...]
              return kpiList;
          }
  
          [HttpGet(&quot;{ProductName}&quot;)]
          public List&lt;KPIValue&gt; Get(string ProductName)
          {
              List&lt;KPIValue&gt; kpiList = new();
              [...]
              return kpiList;
          }
  
          [HttpGet(&quot;{productName}/{KPIName}&quot;)]
          public string Get(string productName, string KPIName)
          {
              string kpi = &quot;&quot;;
              [...]
              return kpi;
          }
  }
  </code></pre>
  <p>So i want to get KPI values in three different ways:</p>
  <ul>
  <li>all KPIs (Get())</li>
  <li>all KPIs from a certain product (Get(string ProductName))</li>
  <li>a single KPI from a a certain product (Get(string productName, string KPIName))</li>
  </ul>
  <p>My Startup.cs file looks like:</p>
  <pre><code>public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
  {
      if (env.IsDevelopment())
      {
           app.UseDeveloperExceptionPage();
           app.UseWebAssemblyDebugging();
       }
       else
       {
            app.UseExceptionHandler(&quot;/Error&quot;);
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
       }
  
       app.UseBlazorFrameworkFiles();
       app.UseHttpsRedirection();
       app.UseStaticFiles();
       app.UseRouting();
  
       app.UseEndpoints(endpoints =&gt;
       {
            endpoints.MapRazorPages();
            endpoints.MapControllers();
            endpoints.MapFallbackToFile(&quot;index.html&quot;);
       });
  }
  </code></pre>
  <p>The application is running on my IIS 10 webserver under &quot;Default Web Site&quot;:
  <a href="https://i.stack.imgur.com/GT7pT.png" rel="nofollow noreferrer">IIS Website</a></p>
  <p>As you can see, the application is registered under the virtual path &quot;Monitor&quot;.</p>
  <p>When i start the website in my chrome browser, i get the expected response (<strong>index.html</strong> will be loaded):
  <em>http://servername/Monitor</em></p>
  <p>When i try to start a api call, i also get the expected response from the third <strong>Get()</strong>-method of my controller:</p>
  <p><em>http://servername/Monitor/api/KPIValue/Server/Version</em></p>
  <p>-&gt; the result is the expected version from server (&quot;1.0&quot; will be displayed).</p>
  <p>But for the other two api calls (<strong>Get(string ProductName)</strong> and <strong>Get(string productName, string KPIName)</strong>) i will be redirected to my fallbackfile &quot;index.html&quot;:</p>
  <p><em>http://servername/Monitor/api/KPIValue/</em></p>
  <p><em>http://servername/Monitor/api/KPIValue/Server</em></p>
  <p>The result i am expecting here is a <strong>json structure</strong> with the KPI-data.</p>
  <p>It is curious that i get a response with squared brackets (JSON response?) when i start
  http requests with non existing product names, e.g.:</p>
  <p><em>http://servername/Monitor/api/KPIValue/NonExistingProduct</em></p>