我目前在使用属性路由的web api控制器中有一组操作方法。
[RoutePrefix("Paper")]...
[Route("Shape/Octagon/{id:minlength(1)}]
public IEnumerable<sampleShape> PostactionName(string id){..}
[Route("Shape/Hexagon/{id:minlength(1)}]]
public IEnumerable<sampleShape> PostactionName(string id){..}
适用于以下URI
api/Paper/Shape/Octagon/"1,2,3"
api/Paper/Shape/Hexagon/"3,2,1"
但是一旦id参数变长,就变得无法使用。是否有路由使用参数id作为表单数据而不是URI的一部分但仍保留Route属性。
答案 0 :(得分:1)
您可以使用FromBody
属性让引擎知道参数将来自帖子正文
[RoutePrefix("Paper")]...
[Route("Shape/Octagon"}]
public IEnumerable<sampleShape> PostactionName([FromBody]string id){..}
[Route("Shape/Hexagon"}]]
public IEnumerable<sampleShape> PostactionName([FromBody]string id){..}