Phon Soyang
Phon Soyang

Reputation: 1483

Customize Web Api Error message when url not matched

I have a web api which host on IIS and it's allowed to access via internet. When I input wrong parameter in request url, it shows the ip address of api server rather than its address. Example: I host api on abc.com. I access the api by abc.com/api/myapi?par=kk when i request wrong api it shows No HTTP resource was found that matches the request URI 'https://10.10.10.10/api/myapi I want it to show like abc.com/api/myapi Is there any config on web api or IIS?

Upvotes: 0

Views: 52

Answers (1)

Sulay Shah
Sulay Shah

Reputation: 514

You can set a custom Not Found page in the Global.asax

protected void Application_EndRequest()
{
    if (Context.Response.StatusCode == 404)
    {
     var urlRef = Context.Request.Url;
     Response.Clear();

     //Set your route details here 
     var routedata = new RouteData();
     routedata.Values["controller"] = "Home";//Your controller
     routedata.Values["action"] = "Index";// Your action

     //Redirect to not found page or login page
     //Sample logic
     IController c = new HomeController();
     c.Execute(new RequestContext(new HttpContextWrapper(Context), routedata));
    }
}

Use custom view so what ever you want to show will be in your view

Upvotes: 1

Related Questions