最近遇到一個比較郁悶的問題,記錄一下
寫了一個介面,想回傳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代碼如下:

然后這個API的效果圖如下:

然后把回傳值 型別改成物件

結果變為:

OK,問題解決, 但是為啥說是一個郁悶問題,因為我剛開始其他專案是這么寫的 :

但是這個介面 效果如下:

為啥這個 回傳值是 string,但是卻沒有回傳 帶反斜杠的字串呢,, 郁悶了半天,才發現這個 API 繼承的類是 Controller 類, 而上面第一種介紹的API繼承的是 ApiController ,好了,找到原因了,區別就在這,使用繼承Controller 就可以 回傳不帶反斜杠 json資料 , 或者繼承ApiController ,但是回傳物體,也可以回傳不帶反斜杠的json格式資料,
當然,多補充一句,如果需要使用Controller ,也需要配置路由,再App_Start檔案夾下 RouteConfig.cs 檔案

可以了,結束 !
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/97969.html
標籤:C#
上一篇:C# 結合 PInvoke 對接 IP 攝像頭的筆記
下一篇:C#執行緒學習筆記一:執行緒基礎
