我看到的所有WebAPI示例都展示了如何使用控制器进行基本CRUD设置。例如,下面的控制器在我的应用程序中显示了一个用于campaigns的控制器:
public IEnumerable<CampaignModel> Get()
{
return _campaignService.GetAll();
}
public CampaignModel Get(int id)
{
return _campaignService.GetByID(id);
}
public void Post(CampaignModel campaign)
{
_campaignService.Create(campaign);
}
public void Put(CampaignModel campaign)
{
_campaignService.Update(campaign);
}
public void Delete(int id)
{
_campaignService.Delete(id);
}这一切都很好,最后我得到了几个很好的端点,格式如下:
但是,我现在想进一步扩展api,并添加以下端点:
是否可以将这些作为与上面CRUD操作相同的控制器的一部分?或者,我是否必须添加其他控制器,然后为每个端点设置路由?
发布于 2012-08-14 09:45:30
在这里上签出“按操作名称路由”
routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
public class CampaignsController : ApiController
{
[HttpPost]
public void send();
[HttpPost]
public void schedule(DateDto date);
}将映射到“api/活动/发送”和“api/活动/计划”
https://stackoverflow.com/questions/11949035
复制相似问题