How do I use UriPathExtensionMapping in MVC4? I’ve added the mapping in the formatter such that:
MediaTypeMappings.Add(new UriPathExtensionMapping("json", new MediaTypeHeaderValue("application/json"))
But I can’t use the extension on my route unless I add a verb, such as:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}.{extension}"
);
Then it’ll recognize my desired media type, but it also starts expecting “extension” as a parameter on the action. Example:
public object Get(string extension)
{
}
Instead of just:
public object Get()
{
}
How can I resolve this?
Thanks!
I don’t remember if I noticed this problem, but it might be because I explicitly specified the default value for the extension like:
*note
format = "json"in the line beginning withdefaults.I did also notice that this sometimes doesn’t work on requests with trailing parameters for
id, like~/api/1/values/get.json/4.