与 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,您可以定义一个显式映射规则。