【问题标题】:'New' and 'Create' RESTful action names or 'Create' for both in ASP.MVCASP.MVC 中的“新建”和“创建”RESTful 操作名称或“创建”
【发布时间】:2012-07-13 17:41:02
【问题描述】:

rails 约定是使用 NewCreate 作为 RESTful 动作名称。 .NET MVC 约定似乎是对两者都使用 Create(通常对旨在真正的“创建”方法的操作使用后限制)。

就我个人而言,我更喜欢在 .net 中使用 NewCreate,但鉴于约定,我一直使用 Create。 .NET MVC 约定为这两个操作使用 Create 有什么好处(如果有的话)?

编辑更新也是如此?

【问题讨论】:

    标签: asp.net-mvc rest


    【解决方案1】:

    一个好处是您可以编写如下代码:

    <% using (Html.BeginForm()) { %>
    

    ... 而不是像这样的代码:

    <% using (Html.BeginForm(new RouteValueDictionary{ "action", "Update" })) { %>
    

    同样用于错误处理:

    if (!ModelState.IsValid)
    {
        return View(model);
    }
    

    ...而不是:

    if (!ModelState.IsValid)
    {
        return View("Edit", model);
    }
    

    MVC 的约定是相关的东西命名相同,而不是你的动作必须有特定的名称。

    【讨论】:

    • 这个信息很好。它不仅仅是形式,而且还具有功能价值。 (尽管我一直在做 return View("Edit", model) 反正我相信你不能在没有明确声明的情况下测试目标视图名称......我可能是错的)。
    • 当然可以测试。您只需将其测试为等于 string.Empty,在 MVC 中,这意味着“与操作名称相同,无论是什么。”
    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多