Я нашел одну странную проблему в почтальоне.В приведенной ниже сумме запроса указано целое поле.
{ "merchantId": 49, "amount": 020 }
Когда я передаю сумму 020 вместо 20. В контроллере API я получил сумму 16. Когда я передаю 0100, я получаю 64.
Если япередайте в двойных кавычках как "020" или "0100".Затем я получаю 20 и 100.
Ниже приведен метод контроллера и класс запроса:
[HttpPost]
public IHttpActionResult Post(XXXXXXXXCommand command)
{
IHttpActionResult result = null;
using (_logger.PushWeb())
{
_logger.Info("POST request to /transactions/debits/accountsetup", command);
try
{
}
catch (MerchantNotFoundException ex)
{
_logger.Error("XXXX", ex);
}
}
return result;
}
[DataContract(Name = "XXXXCommand")]
public class XXXXXXCommand : CommandBase
{
/// <summary>
/// Merchant ID
/// </summary>
[DataMember(Name = "merchantId", Order = 1)]
public int MerchantId { get; set; }
/// <summary>
/// Transaction amount
/// </summary>
[DataMember(Name = "amount", Order = 2)]
public int Amount { get; set; }
}
Похоже, ошибка почтальона.