我要映射我的帖子并将请求发送到网址\set
,
我使用了http://site/area/controller
和HttpPost
属性。
但是当我将数据发布到服务器时,它返回 404 Not found 。
我的代码:
HttpPut
让MVC将我的请求映射到我的操作的方法是什么?
答案 0 :(得分:1)
您似乎缺少相关路线的令牌分配。
Token replacement in route templates ([controller], [action], [area])
为方便起见,属性路由通过将方括号括在方括号(
[
,]
)中来支持令牌替换。标记[action]
,[area]
和[controller]
将替换为定义路径的操作中的操作名称,区域名称和控制器名称的值。
看到您希望将这些路由仅隔离到POST
和PUT
端点,相应地更新路由
public class ApplicationsController : Controller {
//...code removed for brevity
//Matches POST /{area}/applications
[HttpPost("[area]/[controller]")]
public async Task<IActionResult> Create([FromBody]ApplicationViewModel model) {
//...code removed for brevity
}
//Matches PUT /{area}/applications
[HttpPut("[area]/[controller]")]
public async Task<IActionResult> Update([FromBody]ApplicationViewModel model) {
//...code removed for brevity
}
//...code removed for brevity
}
以上还假设已经针对区域进行了适当的配置