首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebAPI控制器中的URL比基本CRUD更复杂

WebAPI控制器中的URL比基本CRUD更复杂
EN

Stack Overflow用户
提问于 2012-08-14 09:04:24
回答 1查看 730关注 0票数 1

我看到的所有WebAPI示例都展示了如何使用控制器进行基本CRUD设置。例如,下面的控制器在我的应用程序中显示了一个用于campaigns的控制器:

代码语言:javascript
复制
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);
}

这一切都很好,最后我得到了几个很好的端点,格式如下:

  • 开展宣传活动/
  • 竞选/{id}
  • 运动后/{运动}
  • 开展宣传活动/{竞选}
  • 删除活动/{id}

但是,我现在想进一步扩展api,并添加以下端点:

  • 运动后/发送
  • 后运动/时间表/{日期}

是否可以将这些作为与上面CRUD操作相同的控制器的一部分?或者,我是否必须添加其他控制器,然后为每个端点设置路由?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-14 09:45:30

这里上签出“按操作名称路由”

代码语言:javascript
复制
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/活动/计划”

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11949035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档