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; 
} 

 

更多:

Asp.Net WebApi 項目及依賴整理

Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 啟用CORS跨域訪問

使Asp.net WebApi支持JSONP和Cors跨域訪問

自定義序列化處理:www.cnblogs.com/acles/archive/2013/06/21/3147667.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM