我使用PostAsJsonAsync
调用MVC Api控制器。
如果我想像Class实例一样传递Complex类型,它可以正常工作。但我需要将简单类型传递为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){}
如果尝试使用Int
类型的其他Mehtod,它也不起作用..
HttpResponseMessage response = await
client.PostAsJsonAsync("http://localhost:62536/api/Controller/MethodA", 123);
public void MethodA(int id){}
如果我将该值分配给类似于类的复杂类型..它可以正常工作。
PostAsJsonAsync仅适用于复杂类型?怎么能让它起作用?
答案 0 :(得分:2)
public void Method([FromBody] string id){}
答案 1 :(得分:-1)
看起来像是解析问题。首先创建字符串变量然后传递给方法。
string x = (string)value;