我打電話給一個使用PostAsJsonAsync
的MVC Api控制器。調用Api控制器PostAsJsonAsync簡單類型參數
如果我想傳遞一個類似於類實例的複雜類型,它工作正常。但我需要通過一個簡單的類型爲string
,或int
像
HttpResponseMessage response = await
client.PostAsJsonAsync("http://localhost:62536/api/Controller/Method", "HELLO");
得到一個錯誤404 Method
沒有找到。
我WebApiController看起來像這樣
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
我的API控制器的方法是這樣的。
public void Method(string id){}
如果嘗試另一種Mehtod與Int
類型如果我說值賦給一個複雜類型,像類不工作,要麼..
HttpResponseMessage response = await
client.PostAsJsonAsync("http://localhost:62536/api/Controller/MethodA", 123);
public void MethodA(int id){}
..它工作正常。
僅限PostAsJsonAsync適用於複雜類型?它如何使它工作?
的可能的複製[爲什麼我們必須指定FromBody和FromUri?](https://stackoverflow.com/questions/24625303/why-do-we-have-to-specify-frombody -and-fromuri) –