c# webapi返回html,关于C# webapi ,接口返回字符串和json格式 ,返回值中有反斜杠...

最近遇到一个比较郁闷的问题,记录一下

写了一个接口,想返回json 数据,但是返回值中总是带有反斜杠。。。 ,下面来看原因

首先,配置 webapi的路由

app_start 文件夹下 ,webapiconfig  修改一下: ps 个人习惯做如下修改

config.routes.maphttproute(

name: "defaultapi",

routetemplate: "webapi/{controller}/{id}",

defaults: new { id = routeparameter.optional }

);

改为:

config.routes.maphttproute(

name: "defaultapi",

routetemplate: "webapi/{controller}/{action}/{id}",

defaults: new { id = routeparameter.optional }

);

,然后 controller代码如下:

6eeb18f8197e48b6b1e5a8508c1185e3.png

然后这个api的效果图如下:

505c3d505c8e939ab0a3e4a6bb972d36.png

然后把返回值 类型改成对象

9d6986805c3a044a6e27f09a057c2008.png

结果变为:

0b34f2f3b72d35a620737279adcb707c.png

ok,问题解决。 但是为啥说是一个郁闷问题,因为我刚开始其他项目是这么写的 :

514ade89394a02598c93ae16031ebaec.png

但是这个接口 效果如下:

099521a1cb0c4c4924d238ed94bd82d8.png

为啥这个 返回值是 string,但是却没有返回 带反斜杠的字符串呢。。 郁闷了半天,才发现这个 api 继承的类是 controller 类。 而上面第一种介绍的api继承的是 apicontroller ,好了,找到原因了,区别就在这。使用继承controller 就可以 返回不带反斜杠 json数据 。 或者继承apicontroller ,但是返回实体,也可以返回不带反斜杠的json格式数据。

当然,多补充一句,如果需要使用controller ,也需要配置路由,再app_start文件夹下 routeconfig.cs 文件

916ead3be89fa4838adbad1401f33f90.png

可以了,结束 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值