值元组从 WebAPI 暴露错误的参数名称

2024-03-01

我正在使用网络 API。我有点懒,决定从我的控制器返回一个值元组。

[HttpGet]
[Route(AuthAPIRoutes.GET_MFA_DEVICES)]
public (string Type, string Value)[] GetMultiFactoryMethods()
{
    return GlobalFactory<IPaystreamMFASecurityService>.Instance.GetMultiFactorMethods();
}

JSON 响应似乎没有使用适当的命名,这是否已被优化掉?

{
    "item1": "Phone",
    "item2": "1-512-555-0550"
}

NOTE:我知道我可以明确地制作一个模型来避免这个问题。我想了解发生了什么以及为什么我的值元组名称在响应中没有得到尊重?


正在发生的事情是ValueTuple https://learn.microsoft.com/en-us/dotnet/api/system.valuetuple?view=netframework-4.8作为一种类型(实际上是一组泛型类型)实际上是非常静态的,并且具有名为诸如Item1, Item2, etc.

从 C# 中获得的良好语法可以声明名称并在代码中的其他位置使用它,这只是 C# 语言的一个功能。按名称引用这些值的编译代码最终会调用这些静态属性(Item1,例如)。事实上,您仍然可以在自己的 C# 代码中通过“Item”名称来访问这些属性。

从编译代码的角度来看,有关这些元组字段名称的唯一线索是与method,因此除非 ASP.NET 将有关操作方法的上下文信息传递到序列化程序中,否则序列化程序将无法知道这些属性应该具有什么名称。

See 本文 https://msdn.microsoft.com/en-us/magazine/mt493248.aspx深入了解 ValueTuples 在幕后所做的事情。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

值元组从 WebAPI 暴露错误的参数名称 的相关文章

随机推荐

  • 调整图像大小而不丢失 EXIF 数据?

    我编写了一个小脚本 可以从 FTP 服务器下载 TIFF 图像 然后调整它们的大小并将它们保存为 JPG 到目前为止 一切顺利 但在压缩步骤 如下所列 中 我丢失了文件中的 EXIF 数据 有没有一种优雅的方法可以在不丢失 EXIF 数据的
  • 如何从 Python ConfigParser .items() 中排除默认值?

    我使用 ConfigParser 从配置文件加载数据 如下所示 测试 conf myfiles fileone datadir s somefile foo filetwo datadir s nudderfile foo load py
  • 尝试实施 Azure Active Directory B2C 时出现 404 错误

    我正在尝试在我正在开发的新页面中实现 Azure Active Directory B2C 但我得到了这个404 File or directory not found尝试从我的页面登录时出错 我创建了租户 注册了我的应用程序 创建了我的政
  • Elasticsearch 使用带有同义词的 shingle 过滤器

    我有以下文件 south africa north africa 我想从以下位置检索我的 南非 文档 s africa a southafrica b safrica c 我定义了以下过滤器和分析器 POST test index sett
  • 非 2xx 状态代码响应是否应包含 CORS 特定标头

    非 2XX 状态代码响应是否仍包含 CORS 特定标头 例如Access Control Allow Origin Access Control Allow Methods and Access Control Max Age 这对客户来说
  • Bootstrap 4 - 如何使固定顶部导航栏在滚动时消失

    使用 Bootstrap 4 如何使固定顶部导航栏在滚动时消失 我在下面附上了默认 Bootstrap 4 导航栏的 html 代码
  • 无法加载 DLL“db2app64.dll”

    我正在写一个 NET框架应用程序并尝试连接到服务器上的 DB2 数据库 尝试时 我收到错误 System DllNotFoundException 无法加载 DLL db2app64 dll 找不到指定的模块 HRESULT 异常 0x80
  • PDF:什么是 DeviceRGB?

    Is this a 自己的色彩空间 例如 Adob eRGB 和 sRGB 或者是这个 b 设备使用的 RGB 色彩空间的名称 如果是 b 应该使用什么颜色空间来渲染 pdf sRGB 是默认使用的吗 pdf 查看器应用程序是否应该能够更改
  • 在 Xcode 7 GM 上启用僵尸对象会导致 _NSZombie_BSXPCMessage 类在两者中实现?和?

    刚刚下载了 XCode 7 GM 并在我的应用程序的 iOS 9 模拟器上尝试一下 但是 我在控制台上收到一条奇怪的消息 objc 2213 Class NSZombie BSXPCMessage is implemented in bot
  • 在 MVC 应用程序中使用 jquery 与 ajax 和 json [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个 MVC 应用程序 使
  • HTML 验证:为什么将交互元素放入交互元素内无效?

    免责声明 我知道它不是有效的 HTML 我想了解为什么不允许 W3C 建议像这样的交互元素button or a不得包含其他交互元素 我可以找到很多提到此规则和一些解决方法的资源 还有一些与此规则如何影响可访问性和屏幕阅读器相关的资源 但几
  • PHP 日期时间设置时区 2038

    我在项目中使用 DateTime 转换所有日期 从 UTC 到欧洲 维也纳 现在我的日期超过 2038 年 但无法获得正确的时间 示例代码 met new DateTimeZone Europe Vienna utc new DateTim
  • 为什么我无法更改 UILabel 的框架?

    我这两天一直在尝试修改一个框架UILabel 哪个 很荒谬 UILabel是一个 IBOutlet 但这不是原因 为什么它不起作用 我试图创建一个UILabel以编程方式和 它仍然不起作用 我是这样做的 self descriptionLa
  • 即使 Windows 重新启动后,C# AddFontResource 仍无法工作

    我正在尝试使用下面的代码使用 C 代码安装字体 调用InstallFont不会抛出任何异常并返回1 我认为这表明它已经安装了字体 但是 该字体既没有出现在 Windows Fonts 文件夹中的已安装字体列表中 也没有出现在检查 Insta
  • 在 R 中编辑 XML 文件

    我有一个包含以下元素的 xml 文档
  • 在 C 中有效地获取整数向量的绝对值

    任务是将 C 整数数组的每个元素设置为其绝对值 我正在努力尽可能高效地做到这一点 以下是我所做的一系列优化 请告诉我这些是否真的是优化 以及是否可以进行更多优化 该函数的第一个参数将是一个整数数组 第二个参数将是该数组的整数大小 这是标准实
  • Mathematica 中的条件数据操作

    我正在努力准备高效数据分析的最佳工具在数学中 我有大约 300 列和 100 000 行 最好的技巧是什么 删除 提取 或简单地 考虑 数据结构的部分 用于绘制例如 我能想到的最棘手的例子之一是 给定一个数据结构 对于第 2 列中的值等于
  • 将库添加到级联中

    您好 我正在开发一个应用程序来解压 blackberry10 中的文件 为了解压缩文件 我使用从 github 获得的 quazip 库代码 但我不知道如何将此库添加到我的项目中 任何人都可以让我知道如何将库添加到黑莓级联中 要将库添加到
  • Pandas 发送包含数据框作为可视表的电子邮件

    举个例子 df 1 1 2 3 5 df 2 10 20 30 50 df test pd concat pd DataFrame df 1 pd DataFrame df 2 axis 1 我如何通过 gmail 发送电子邮件 并使用此数
  • 值元组从 WebAPI 暴露错误的参数名称

    我正在使用网络 API 我有点懒 决定从我的控制器返回一个值元组 HttpGet Route AuthAPIRoutes GET MFA DEVICES public string Type string Value GetMultiFac