与 Nancy 绑定到自定义 属性
Bind to a custom property with Nancy
我有一个 class 这个 属性:
public string FeatureString { get; set; }
但是我在 JSON:
中收到了这个
"feature_string":"someText"
由于下划线,名称不匹配,因此未绑定此 属性。
给它一个属性:
[JsonProperty(PropertyName = "feature_string")]
似乎没有帮助。
是否有一种方法可以将 Nancy 绑定到名称不同于 JSON 的 属性?
谢谢。
我不认为这是开箱即用的支持。
我能想到的两个选项:
使用请求实际具有的结构构建专用请求 DTO。 Nancy 还可以绑定到私有内部 classes。您的模块可以包含 feature_string
作为字段。 Nancy 也支持字段绑定。当您对内部请求 class 进行数据绑定时,您可以映射到您的真实对象,例如使用自动映射器。您仍然需要一个与 JSON 具有相同结构的对象,但至少您可以这样隐藏它。
https://gist.github.com/thecodejunkie/5521941 这是一个动态模型绑定器,它允许将传入的 JSON 绑定到 dynamic
。再次使用 Automapper,您可以从动态对象绑定到您的实际对象,无需显式配置即可工作。对于 feature_string
,您可以定义一个显式映射规则。
我有一个 class 这个 属性:
public string FeatureString { get; set; }
但是我在 JSON:
中收到了这个"feature_string":"someText"
由于下划线,名称不匹配,因此未绑定此 属性。 给它一个属性:
[JsonProperty(PropertyName = "feature_string")]
似乎没有帮助。
是否有一种方法可以将 Nancy 绑定到名称不同于 JSON 的 属性?
谢谢。
我不认为这是开箱即用的支持。 我能想到的两个选项:
使用请求实际具有的结构构建专用请求 DTO。 Nancy 还可以绑定到私有内部 classes。您的模块可以包含
feature_string
作为字段。 Nancy 也支持字段绑定。当您对内部请求 class 进行数据绑定时,您可以映射到您的真实对象,例如使用自动映射器。您仍然需要一个与 JSON 具有相同结构的对象,但至少您可以这样隐藏它。https://gist.github.com/thecodejunkie/5521941 这是一个动态模型绑定器,它允许将传入的 JSON 绑定到
dynamic
。再次使用 Automapper,您可以从动态对象绑定到您的实际对象,无需显式配置即可工作。对于feature_string
,您可以定义一个显式映射规则。