user3799325
user3799325

Reputation: 610

Blazor webAssembly calling non existing api route returns 200 success with index.html

I am using latest bits of Blazor WebAssembly Hosted Project.

I found a strange behaviour in that when i pass a non-exisitng route to api, the return status is 200 success becuase it return default html blazore page(index.html).

HttpResponseMessage response = await _Http.GetAsync($"api/Account/OTPVerification?userName={loggidInUser.Email}&OTP={_OTP}");
        if (response.IsSuccessStatusCode)
        {
}

The actual response returned is, which turns out to be(index.html) 200, success, whereas it is no where what i expect

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>BlazorWebAssembly</title>
    <base href="/" />
    <script src="https://kit.fontawesome.com/xxxxxxxxxxf.js" crossorigin="anonymous"></script>
    <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
    <link href="css/app.css" rel="stylesheet" />
    <link href="manifest.json" rel="manifest" />
    <link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
    <link href="_content/Blazored.Modal/blazored-modal.css" rel="stylesheet" />
    <link href="_content/Blazored.Toast/blazored-toast.min.css" rel="stylesheet" />

</head>

<body>
    <app>Loading...</app>

    <div id="blazor-error-ui">
        An unhandled error has occurred.
        <a href="" class="reload">Reload</a>
        <a class="dismiss">🗙</a>
    </div>
    <script src="_framework/blazor.webassembly.js"></script>
    <script>navigator.serviceWorker.register('service-worker.js');</script>
</body>

</html>

Upvotes: 2

Views: 740

Answers (1)

Par6
Par6

Reputation: 389

In your Startup.cs you can try removing:

endpoints.MapFallbackToFile("index.html");

So in your ApiController, if it's not in the route, it will return a 404 instead of index.

Upvotes: 1

Related Questions