我正在重构端点,并且遇到了这种方法:
public async Task<ActionResult<Foo>> Put([FromRoute]int fooId, [FromBody]Foo model)
{
...
return Ok(data);
}
我试图了解为什么他们会同时使用[FromRoute]
和[FromBody]
。这是不好的做法还是实际上在某种程度上有所帮助(即出于安全原因)?该ID已在模型中传递,因此我认为这是一种不好的做法。
答案 0 :(得分:2)
这是惯例。
FromRoute
来自URL。您需要一些东西来识别资源。 FromBody
是请求正文,您自己需要资源值。
信任或使用请求正文作为资源ID并不常见。