2014年6月30日 星期一

C# Self Host return JSon without XML


使用 Selft Host 當做 Web API 輸出時,會預設使用XML Tag

因此需要將預設的 XML 格式移除,才能正確顯示 JSON

以下為範例:

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        var appXmlType = config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml");
        config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(appXmlType);
    }
}