【发布时间】:2020-07-23 16:12:08
【问题描述】:
基本上,我有一个这样的 API 端点:
public async Task<ActionResult<UserDTO>> SignUp(string username, string password, Guid inviteId)
我希望所有这些参数都来自请求正文中的 JSON 对象,如下所示:
{
'username': 'foo',
'password': 'bar',
'inviteId': '00000000-0000-0000-0000-000000000000'
}
我知道我可以创建一个将这些参数作为字段的类,但是有没有更简洁的方法来做到这一点?另外,我如何接受来自 JSON 对象和另一个来源的参数? (即inviteId 可能来自 JSON 对象或查询字符串)
编辑:澄清一下,我不想使用自定义类,或类似于 JObject。我希望该函数直接接收其参数,而无需进行任何手动解包或解析。基本上,函数签名应该保持为SignUp(string username, string password, Guid inviteId),并且解决方案应该添加到 ASP.NET 的模型绑定功能。另外,如果可以的话,我不想使用任何第三方包。
【问题讨论】:
-
我喜欢使用 Json.NET 库和
dynamic关键字。这样的事情可能会奏效。dynamic data = JObject.Parse(stringContent);这将使您可以在运行时访问data.inviteId。
标签: c# asp.net json asp.net-core asp.net-web-api