我在看https://stackoverflow.com/a/15873977,但它对我没用。
如果我的Post方法有一个名为Message
的参数(我自己的类的一个对象),并且我没有对它应用[FromBody]
属性,是否可以传递参数{{1 ,json序列化和urlEncoded,在查询字符串而不是在Post体中?
我尝试传递Message
(如果解码为?Message=%7B+%22Sender%22%3A...+%7D
),但Message={ "Sender":... }
参数在方法中仍然为空。
查询字符串键应该是Message,参数的名称,还是参数的类名或其他内容?
答案 0 :(得分:2)
如果您有模特Foo:
public class Foo
{
public string Bar { get; set; }
public int Baz { get; set; }
}
并且您想要从查询字符串中绑定它,然后您必须解决各个属性:
?Bar=qux&Baz=42
并注释必须从查询字符串绑定模型:
public void Bar([FromUri]Foo foo)
{
}
如果您真的想将JSON发送到您的操作方法而不是模型,只需绑定到字符串而不是模型。然后,您可以使用操作方法中的JSON字符串执行任何操作。