c# - 在运行时更改 asp.net 核心模型属性名称
问题描述
我有一个模型
public class Item
{
public int Id { get; set; }
public string ItemName { get; set; }
}
我喜欢在 api 端点和 swagger中将 Property ItemName显示为ServiceName 。用户将以ServiceName的形式获取/发布数据,但在后端它将绑定到ItemName。其他重要的想法是ServiceName应该是动态的,它来自数据库,如果我将ServiceName更改为ProductName那么它应该将ProductName绑定到ItemName。我正在使用带有 EF 核心和 swagger ui 的 asp.net core 2.2。
解决方案
您可以使用JsonProperty属性。它有一个接受propertyName
字符串的构造函数。
using Newtonsoft.Json;
public class Item
{
public int Id { get; set; }
[JsonProperty("ServiceName")]
public string ItemName { get; set; }
}
推荐阅读
- three.js - 模型视图上的纹理裂缝
- node.js - 你应该/可以运行在 Azure 上运行的 Node-OPCUA 服务器吗?
- javascript - 我可以从我的服务器发送一个可以通过浏览器扩展访问的 cookie 吗?
- android - 在 Android 中为两个活动使用一个处理程序?
- c++ - 为什么它只能读取第一行?
- ios - 错误 ITMS-9000:“不支持的架构。您的可执行文件包含不受支持的架构 '[x86_64, i386]'”,发生错误
- sql - 使用包含 SELECT 语句的 IF/ELSE 设置变量
- c# - 基于通用 TKey 类型生成新的 Id
- c# - 如何在 XamarinForms 中使用 TextFields 创建 DisplayAlert?
- java - 在android中创建计算器菜单