数组变量的 C# HttpGet 语法 - 试过 {values:double[]} 抱怨括号
C# HttpGet syntax for array variable - tried {values:double[]} complains about brackets
[HttpGet("CalibrationModelFile/{networkID:int}/{ConstituentID:int}/{values:double[]}/UpdateLimits")]
显然我必须发送一个双打数组。如果我传入单独的值,我的函数工作正常:
{value1: double}/{value2: double}/ etc
但这很蹩脚,我可以发送很多值。
当我尝试拨打电话时,服务器出现以下错误(相关部分):
抱歉图片太小了。
我找不到任何有帮助的文档。有什么想法吗?
提前致谢,
查克 ("Yogi")
Double[]
不是可接受的约束类型之一。需要注意的重要一点是,这些只是约束,而不是真正的类型说明符。我们可以只说我们想要 values
,并在参数中指定它是 double[]
。有关内置约束列表,请参阅 the documentation。
您可以使用 FromRoute
属性轻松完成此操作。在参数中指定类型而不是路由。
[HttpGet]
[Route("CalibrationModelFile/{networkID:int}/{ConstituentID:int}/{values}/UpdateLimits")]
public IActionResult GetThing([FromRoute(Name = "values")] double[] values)
{
return new OkObjectResult(values);
}
然后点赞
http://localhost:5000/api/CalibrationModelFile/12/13/5,2,3,4/UpdateLimits
Returns
[
5234
]
[HttpGet("CalibrationModelFile/{networkID:int}/{ConstituentID:int}/{values:double[]}/UpdateLimits")]
显然我必须发送一个双打数组。如果我传入单独的值,我的函数工作正常:
{value1: double}/{value2: double}/ etc
但这很蹩脚,我可以发送很多值。
当我尝试拨打电话时,服务器出现以下错误(相关部分):
抱歉图片太小了。
我找不到任何有帮助的文档。有什么想法吗?
提前致谢, 查克 ("Yogi")
Double[]
不是可接受的约束类型之一。需要注意的重要一点是,这些只是约束,而不是真正的类型说明符。我们可以只说我们想要 values
,并在参数中指定它是 double[]
。有关内置约束列表,请参阅 the documentation。
您可以使用 FromRoute
属性轻松完成此操作。在参数中指定类型而不是路由。
[HttpGet]
[Route("CalibrationModelFile/{networkID:int}/{ConstituentID:int}/{values}/UpdateLimits")]
public IActionResult GetThing([FromRoute(Name = "values")] double[] values)
{
return new OkObjectResult(values);
}
然后点赞
http://localhost:5000/api/CalibrationModelFile/12/13/5,2,3,4/UpdateLimits
Returns
[
5234
]