Asp.Net WebAPI配置接口返回数据类型为Json格式

摘要:
对于有循环引用的也会抛出异常““ObjectContent`1”类型未能序列化内容类型“application/xml;charset=utf-8”的响应正文。”

一、默认情况下WebApi

对于没有指定请求数据类型类型的请求,返回数据类型为Xml格式

例如:从浏览器直接输入地址,或者默认的XMLRequest,或者AngularJs的get请求等。

对于有循环引用的也会抛出异常““ObjectContent`1”类型未能序列化内容类型“application/xml; charset=utf-8”的响应正文。”

Asp.Net WebAPI配置接口返回数据类型为Json格式第1张

二、设置返回格式为Json数据

1.修改配置,这对所有的接口都生效

找到Global.asax文件,在Application_Start()方法中添加一句:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear()

2.针对某一个接口设置

解决的方法是自定义返回类型(返回类型为HttpResponseMessage)

publicHttpResponseMessage PostUserName(User user) 
{ 
String userName =user.userName; 
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(userName,Encoding.GetEncoding("UTF-8"), "application/json") }; 
returnresult; 
} 

更多:

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

免责声明:文章转载自《Asp.Net WebAPI配置接口返回数据类型为Json格式》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇简单谈谈python的反射机制Electron在Windows下打包不同平台应用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

调用微信JS-SDK配置签名

前后端进行分开开发: 1:后端实现获取   +++接口凭证:access_token (公众号的全局唯一接口调用凭据)     ** GET 获取:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET...

接口测试基本理解

想必大家都做过功能测试,通过业务需求测试功能点是否达到预期(测试用例),一些小伙伴想要了解接口测试就会有一些疑问,接口是什么呢?怎么去做接口测试?接口测试为了实现什么? 我们一步一步来说明: 什么是接口? 接口分为对外接口和对内接口 对内接口: 个人理解:程序之间方法的调用,模块之间的交互,比如A开发写好了一个登录接口告诉B开发直接在权限模块调用就可以了。...

微信小程序 wx.getUserProfile 接口获取用户信息

为优化用户的使用体验,平台将进行以下调整: 1、2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过 wx.login 接口获取的登录凭证可直接换取 unionID 。 2、2021年4月13日后发布的小程序新版本,无法通过 wx.getUserInfo 与 <button open-type="getUserInfo"/> 获取用...

APP 安全测试点概述

一、安装包测试 1.1 关于反编译   目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码泄漏,安全隐患巨大。   为了避免这些问题,除了代码审核外,通常开发的做法是对代码进行混淆,混淆后源代码通过反软件生成的源代码是很难读懂的,测试中,我们可以...

宝塔接口API

前言 宝塔是一款服务器管理软件,非常方便linux新手和运维人员使用。 为了实现自动化管理,我们需要调用宝塔的接口API。 接口API 以nodejs为例,其它语言可参考宝塔官方API文档 const md5 = require('md5'); (async () => { try { const BT_KEY = 'yo...

SpringBoot整合WebService

WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。其实WebService并不是什么神秘的东西,它就是一个可以远程调用的类,或者说是组件,把你本地的功能开放出去共别人调用。具体的说,Web Service可以让你的网站使用其他...