Veracode使用可选参数标记api操作,以便不进行输入验证

时间:2017-12-18 16:40:18

标签: c# api routes swagger veracode

我使用dot.net WebApi2并且我从代码扫描中获得了Veracode Flaw:

' Controller的Action缺少一个Route属性,它将使用Route Constraint对Action参数执行输入验证.... 补救措施:确保在每个操作上使用RouteAratribute对象和路径约束'

提到的行动是:

[Route]
[HttpGet]
public IHttpActionResult Get(int? offset = null, int? rows = null)
{
    ...
}

由于我只有可选参数,因此未在Route属性中指定它们。如果我通过将thr路由注释更改为:

〔路线(" {偏移量:INT?} / {行:INT}"]

这条路线会在swagger api帮助页面中显示如下:

GET / api / v1 / foo / {offset} / {rows}

而不是(我们想要展示的):

GET / api / v1 / foo

帮助页面也会将这些参数标记为必需,即使它们不应该是。

有没有办法可以取悦Veracode,而不是破坏我的招摇文件?

0 个答案:

没有答案