gpt4 book ai didi

rest - postman 将错误的整数值传递给 API Controller

转载 作者:行者123 更新时间:2023-12-01 11:16:11 25 4
gpt4 key购买 nike

我在 postman 中发现了一个奇怪的问题。在下面的请求金额是整数字段。

{ "merchantId": 49, "amount": 020 }

当我通过数量 020 而不是 20 时。在 API Controller 中,我收到数量 16。当我通过 0100 时,我收到 64。

如果我传入像“020”或“0100”这样的双引号。然后我得到 20 和 100。

下面是 Controller 方法和请求类:
    [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; }
}

它看起来像 postman 错误。

最佳答案

以 0 为前缀的数字使其被解释为八进制数。

八进制数语法使用前导零。如果 0 之后的数字不在 0 到 7 的范围内,则该数字将被解释为十进制数。

var n = 0755; // 493
var m = 0644; // 420

如需更多信息,请参阅 this link.

关于rest - postman 将错误的整数值传递给 API Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50830440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com