我想将url中的id绑定到我的FromBody对象。这是我的代码:
/**
* @Security("has_role('ROLE_USER')")
*/
我的CustomRecallDraft对象中有[HttpPost]
[Route("draft/{id:int}/save")]
public IHttpActionResult SaveCustomRecallDraft([FromBody] CustomRecallDraft request)
{
return Ok();
}
属性。但是当我发出web请求时,id字段为null。它是一个可以为空的id。这是我的替代代码
id
此代码有效。 id字段不为null。但是如何绑定到CustomRecallDraft对象中的id字段。我不想要两个参数。
答案 0 :(得分:1)
如果我理解正确,你想要这样的东西:
[HttpPost]
[Route("draft/{id:int}/save")]
public IHttpActionResult SaveCustomRecallDraft([FromBody] CustomRecallDraft request)
{
//request.id is the {id:int} from the uri
return Ok();
}
基于我已阅读的有关属性路由的所有文档(例如,here和here),无法完成。
您可以做的最好是使用FromUri参数,并设置request.id = id。或者只是强制他们都是一样的。
答案 1 :(得分:0)
您可以为CustomRecallDraft编写自定义模型Binder,但这可能是一种过度杀伤......但