public void PostImport([FromBody]string file)
{}
通过调试我输入了方法并看到该文件始终为null,使用了许多不同的请求,其中一个应该可以工作(还尝试过使用资本a for Application / json)? :
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 }
);
答案 0 :(得分:1)
你能试试吗?
curl -i -H "Accept: application/json" -X POST -d "=myStr" http://localhost:61393/api/admin/import
使用accept标头代替Content type标头,它应该可以工作。
答案 1 :(得分:0)
您应该发送xhr的标题(" XMLHttpRequest"),然后才能打到您的web-api。 尝试添加以下标题并运行它。
"X-Requested-With": "XMLHttpRequest"
答案 2 :(得分:0)
确保您的curl语法正确无误。这是curl manual:
的语法curl -d "name=Rafael%20Sagula&phone=3320780" \
http://www.where.com/guest.cgi
您是否尝试过另一个休息客户端来测试您的应用程序(例如Fiddler)?