Asp.Net WebAPI配置接口返回數據類型為Json格式
一、默認情況下WebApi
對於沒有指定請求數據類型類型的請求,返回數據類型為Xml格式
例如:從瀏覽器直接輸入地址,或者默認的XMLRequest,或者AngularJs的get請求等。
對於有循環引用的也會拋出異常““ObjectContent`1”類型未能序列化內容類型“application/xml; charset=utf-8”的響應正文。”
二、設置返回格式為Json數據
1.修改配置,這對所有的接口都生效
找到Global.asax文件,在Application_Start()方法中添加一句:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear()
2.針對某一個接口設置
解決的方法是自定義返回類型(返回類型為HttpResponseMessage)
public HttpResponseMessage PostUserName(User user) { String userName = user.userName; HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(userName,Encoding.GetEncoding("UTF-8"), "application/json") }; return result; }