我正在编写.Net WebApi MVC restful Web服务。 我在将参数作为整数和长整数传递时遇到问题。
以下是公开服务电话的示例定义。
[HttpGet("{sampleID}")]
public SummaryDataCounts Get(int sampleID) {}
我使用开源工具Swagger作为我的解决方案的一部分。 当我通过Visual Studio 17(和Swagger测试页面)调试时,我期望的结果。输入参数确实是具有指定值的整数。
要生成客户端代码,我在命令行上使用swagger-codegen-cli。 在客户端,它会根据预期的参数类型生成预期的原型(在本例中为" int ")。
以下是我的命令行调用:
swagger-codegen-cli.jar generate^ --verbose^ --input-spec http://localhost:56995/swagger/v1/swagger.json^ --lang csharp^ --output output/SampleAPI
我注意到有几件事情:
1)在客户端,我的服务方法原型如下所示:
SummaryDataCounts(int? sampleID)
为什么我的参数现在是一个可以为空的整数?
2)当从我的客户端调用该方法时(使用可为空的整数参数),无论我传入的是什么数字,服务总是会看到一个零(0)值的参数。 / p>
为什么会这样? 我的方法定义有问题吗?
谢谢,JB