【发布时间】:2016-08-21 10:36:16
【问题描述】:
我有一个简单的控制器,可以接受来自支付系统的响应。
public async Task<IHttpActionResult> Pending([FromUri] DepositResponse response)
{
Logger.LogInfo(JsonConvert.SerializeObject(response));
return Ok(response);
}
然而,存款响应具有非常丑陋和不标准化的参数。我无法控制,因为这是支付系统发送的。
public class DepositResponse
{
public string ppp_status { get; set; }
public string ExErrorCode { get; set; }
public string PPP_TransactionID { get; set; }
public string merchant_site_id { get; set; }
//etc
}
因此,Resharper 抱怨所选名称不符合规则,我想更改它以匹配项目其余部分中的所有类。
是否有我可以使用的属性,或者我可以创建一个属性以使FromUri 理解响应?
例如
public class DepositResponse
{
[FromUriName("ppp_status")]
public string pppStatus { get; set; }
[FromUriName("ExErrorCode")]
public string exErrorCode { get; set; }
[FromUriName("PPP_TransactionID")]
public string pppTransactionId { get; set; }
[FromUriName("merchant_site_id")]
public string merchantSiteId { get; set; }
//etc
}
我在网上找不到这样的例子,但我想它在处理发送垃圾的外部系统时会非常有用......
有什么想法吗?
【问题讨论】:
标签: c#-4.0 asp.net-web-api custom-attributes