I have a WebApi project with controllers that return JSONP. For this I'm using a JsonPMediaTypeFormatter class - I now have to merge these controllers with a 2nd Web Api project which doesn't use custom formatters. How do deliver JSONP for particular routes ie
"api/ProductsController/{action}/{id} - returns JSONP
"api/LookupController/{action}/{id} - no custom formatter
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
config.Formatters.Insert(0, new JsonpMediaTypeFormatter());
}