[英]Post Parameter is always null, c# api controller
public void PostImport([FromBody]string file)
{}
通過調試,我輸入了方法,並看到該文件始終為null,使用了許多不同的請求,其中一個應該可以工作(還嘗試使用Application / json的大寫字母a)嗎? :
C:\>curl -X POST -H "Content-Type: application/json" -d "{\"\":\"myStr\"}" http://localhost:61393/api/admin/import
和
C:\>curl -X POST -H "Content-Type: application/json" -d "{\"file\":\"myStr\"}" http://localhost:61393/api/admin/import
我的路線設置如下
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
你可以試試這個嗎?
curl -i -H "Accept: application/json" -X POST -d "=myStr" http://localhost:61393/api/admin/import
代替Content type標頭使用accept標頭,它應該可以工作。
您應該發送xhr的標頭(“ XMLHttpRequest”),然后才能訪問您的Web-api。 嘗試在標題下面添加並運行它。
"X-Requested-With": "XMLHttpRequest"
確保您的curl語法正確。 這是curl 手冊中的語法:
curl -d "name=Rafael%20Sagula&phone=3320780" \
http://www.where.com/guest.cgi
您是否嘗試過其他休閑客戶端來測試您的應用程序(例如Fiddler)?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.