在Web API中,通常的惯例是省略" {action}"

时间:2018-05-24 09:39:52

标签: c# asp.net-web-api

我在这个Microsoft Doc中读到了它:

  

" {动作}"提供动作的名称。在Web API中,通常的惯例是省略" {action}"。

但我认为{action}routeTemplate: "{controller}/{action}",中使用WebApiConfig.ca非常有用,

我可以通过像http://localhost:1111/controllerName/MethodName

这样的网址在控制器中调用该方法

为什么文档会说 usual convention is to omit "{action}"

2 个答案:

答案 0 :(得分:1)

如果我们在控制器中使用方法,那么{action}很有用。

在Microsoft Web-api控制器的默认模板中,他们使用直接方法来响应控制器。因此,不需要使用{action},如果需要在控制器中使用方法,则需要在routeTemplate中实现{action}:" {controller} / {action}"

Microsoft文档参数中的

是可选的,但方法不是可选的。如果我们使用方法,那么需要整合路线参数。

答案 1 :(得分:1)

在我的反击中,当您编写restful webapi时,您应该使用HTTP方法(GET,POST,PUT,DELETE .etc)并在仔细考虑之后描述您的URI。 你能否说出URIS的不同之处如下:

POST http://localhost/users
POST http://localhost/users/addUsers

GET http://localhost/users/1
GET http://localhost/users/findUser?id=1

我们可以看到第一个强调资源的表达,第二个更注重行动。

因此,如果你的webapi应该遵循宁静的架构,也许你应该省略action.Anyway,如果没有,使用模板作为" / controller / action"也是一个好方法。