我在这里问了一个初步的和有点类似的问题。
现在我需要知道如何从控制器方法/操作中的 RESTful URL 中访问值。
我有一个名为 PlatypusController 的控制器,它的路由在 WebApiConfig 中设置如下:
config.Routes.MapHttpRoute(
name: "ReportsApi",
routeTemplate: "api/{controller}/{unit}/{begindate}/{enddate}",
defaults: new { enddate = RouteParameter.Optional }
);
PlatypusController.cs 有这样的代码:
public void Post()
{
int i = 2;
}
当然,“int i = 2”是无稽之谈;我只是把它放在那里,这样我就可以在方法中放置一个断点来验证它是否已到达。当我选择“POST”并在 Postman 中输入此 URL 时:
http://localhost:52194/api/Platypus/gramps/201509
(当我调用它时,该应用程序正在端口 52194 上运行)
但要完成一些有价值的事情,我需要 URL 中的“gramps”和“201509”。我怎样才能访问这些?我是否需要将它们添加到 Post 方法中,如下所示:
public void Post(string unit, string begindate)
{
DoSomething_Anything(unit, begindate);
}
...或者是否有其他方法来获取它们,例如从 HttpRequest 对象或其他东西?