2016-04-27 2 views
0

J'ai un contrôleur simple qui accepte une réponse d'un système de paiement. La réponse du dépôt a cependant des paramètres très laids et non standardisés. Je n'ai aucun contrôle sur cela parce que c'est ce que le système de paiement envoie.peut-on lire les paramètres FromUri à partir d'un attribut?

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 
} 

En conséquence, ReSharper se plaint du nom choisi qu'il ne correspond pas aux règles et je veux changer pour correspondre à toutes les classes dans le reste du projet.

Y a-t-il un attribut que je peux utiliser, ou que je peux créer pour que FromUri comprenne la réponse?

Par exemple

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 
} 

Je ne pouvais pas trouver un tel exemple en ligne, mais j'imagine qu'il peut être très utile pour traiter des systèmes externes qui envoient des déchets ...

des idées?

Répondre

0

Vous pouvez utiliser le modèle ci-dessous

public class DepositResponse {

[JsonProperty(PropertyName="ppp_status")] 
public string pppStatus { get; set; } 

[JsonProperty(PropertyName="ExErrorCode")] 
public string exErrorCode { get; set; } 

[JsonProperty(PropertyName="PPP_TransactionID")] 
public string pppTransactionId { get; set; } 

[PropertyName(PropertyName="merchant_site_id")] 
public string merchantSiteId { get; set; } 

//etc 

}

+0

S'il vous plaît rappelez-vous de voter jusqu'à si elle vous aide – suulisin

+0

Ceci, bien sûr, ne fonctionne pas. Est-ce que tu l'as essayé? Je fais un Get HTTP, donc les paramètres doivent correspondre exactement au nom de la propriété. Ma solution impliquerait un classeur personnalisé, ou une extension à "FromUri". – Nick