问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#mvc中的webapi怎么迫使服务端返回字符串1

发布网友 发布时间:2023-09-11 16:59

我来回答

2个回答

热心网友 时间:2024-12-03 02:27

返回值是string就好了。

public string Get(int id)
{
    return "字符串";
}

用AJAX取json格式的就是这样的。

$.ajax({url:'/api/Values/1',dataType:'json',type:'get',success:function(data){console.log(data);}})

 主要是客户端的设置,如果客户端能够支持XML,就会返回XML格式的,如果能支持json,就会直接返回字符串。

Accept:application/json, text/javascript, */*; q=0.01

像这样就是字符串的

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

像这样就是xml的

还可以这样:

var formatters = GlobalConfiguration.Configuration.Formatters;
formatters.Remove(formatters.XmlFormatter);

这样就可以强制不使用XML格式返回

热心网友 时间:2024-12-03 02:28

web api 默认的已 xml 格式返回数据
现在开发一般都是以 json 格式为主
下面配置让 webapi 默认返回 json ,在需要返回 xml 时只需要加一个查询参数 datatype=xml 即可返回 xml 格式数据

配置如下:
1.新建 一个 mvc webapi 项目 (framework4.0)
2.找到默认的 WebApiConfig.cs 文件
3.修改 WebApiConfig.cs 文件
<span style="font-family: Arial, Helvetica, sans-serif;">using System;</span>
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting;
using System.Web.Http;

namespace MvcWebApi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
.......

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
//默认返回 json
GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
new QueryStringMapping("datatype", "json", "application/json"));
//返回格式选择 datatype 可以替换为任何参数
GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(
new QueryStringMapping("datatype", "xml", "application/xml"));
}
}
}

4.修改默认路由规则 WebApiConfig.cs 文件中
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting;
using System.Web.Http;

namespace MvcWebApi
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//新加的规则
config.Routes.MapHttpRoute(
name: "DefaultApi2",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//新加的规则
config.Routes.MapHttpRoute(
name: "DefaultApi1",
routeTemplate: "api/{controller}/{action}",
defaults: new { id = RouteParameter.Optional }
);
//默认路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
。。。。。
}
}
}

5.添加测试 action
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace MvcWebApi.Controllers
{
public class ValuesController : ApiController
{
/// <summary>
/// web api 默认将以 get 开头的只支持 get 请求,post 开头的支持支 post 请求
/// </summary>
/// <returns></returns>
[System.Web.Http.HttpGet]
[System.Web.Http.HttpPost]
public MyClass GetMyClass()
{
return new MyClass()
{
id=1111,
name="张三",
time=DateTime.Now
};
}
}

public class MyClass
{
public int id { set; get; }
public string name { set; get; }
public DateTime time { set; get; }
}
}

6.测试

请求地址:http://localhost:61667/api/values/getmyclass
响应内容:

{"id":1111,"name":"张三","time":"2015-09-29T16:43:07.4731034+08:00"}

请求地址:http://localhost:61667/api/values/getmyclass?datatype=xml
响应内容:
<MyClass><id>1111</id><name>张三</name><time>2015-09-29T16:43:45.3663004+08:00</time></MyClass>
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年四川570分能考上什么大学? 2024年四川文科560分能考上什么大学? 2024年广东561分能考上什么大学? 2024年江苏历史类561分能考上什么大学? 在形ABC中,角A.B.C所对的边分别为a.b.c,且acosB+bcosA=2c cos 求... ...B、C的对边分别为a、b、c,已知acosB+bcosA=2(bcosC+ccosB).(1... ...b、c的对边分别为a、b、c,且acosb+bcosa=2cosc 在△ ABC中,角A、B、C所对的边分别为a、b、c,已知b=cosA,c=2cosB,试... 在△ABC中,角A,B,C所对的边分别为a,b,c,且满足bcosA+acosB=2ccosC,△... ...对应的边分别为a、b、c,且满足aCOSB+bcosA=2cCOSC... 有什么成语可以形容迫切的想得到某物?5 mvc4 怎么将 区域改成webapi 名将三国什么时候公测?具体点时间说下19 朋友过生日送她一个化妆品盒怎么写祝福语?9 油液经过溢流阀后,压力会减小吗1 溢流阀的工作原理是什么? 最近我和一个男生聊微信,对他说有人对我表白,他对我说,天天有人给你... 一个男人一直在追我。很多次在QQ,微信上跟我表白。他跟我是同村,但是我... ...我微信,我看他以前不怎么发朋友圈,最近他向我表白,我拒绝了,这几天... 九阴真经古墓派引入门的斗酒老头在什么地方 九阴真经刚玩怎样进古墓派,我在燕京找到糟老头了,但是他不给任... 一次阿兹卡班越狱事件中谁下的胖夫人逃出了画框 溢流阀坏了怎么判断16 微信重新注册了,怎么找回以前那个? 名将三国什么时候公测?具体点时间说下19 名将三国什么时候公测?谁给个激活过的号我玩玩42 名将三国什么时候公测?16 未来婆婆过生日 发什么祝福语 最后 语言多一些47 五十岁未来婆婆明天过生日,蛋糕上写什么祝福语合适?送什么礼物... 儿媳妇过生日,婆婆的祝福语?4 叫&quot;丑小子&quot;是哪里的方言 hashmap 的keyset方法返回了一个set集合 我想...1 java代码实现hashmap的插入,删除一个对象,并将va...4 怎么找回原来注册的? 名将三国什么时候公测 还可以抢号吗4 怎样找回原来注册的和密码 联想手机用什么root好9 持导游证不带团的情况下,去杭州那些景点导游可以免票 联想手机怎样一键ROOT15 贵阳火车站到三江做那路车 联想手机怎么root24 现在去杭州的那些景点 不带团导游证可以免费啊! 不带团时,自己的电子导游证能免票吗?都能免全国哪些景区的17 布莱克先生有许多中国画在他家的英文? 名将三国WOF什么时候公测?3 名将三国 什么时候能玩3 名将三国网页游戏 名将三国什么时候不用激活码也可以玩?3 安装用友erp-u8管理系统时,需要注意以下哪些问题2 苹果手机系统更新过,水印相机老是闪退,在WFi下不闪退,3G4G都闪退,_百 ...