首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CRUD和非CRUD操作的正确路由

CRUD和非CRUD操作的正确路由
EN

Stack Overflow用户
提问于 2012-10-03 04:32:03
回答 1查看 498关注 0票数 0

假设我想在控制器中执行标准的CRUD操作:

接口/values- IEnumerable Get()接口/values/1- Get(int id)接口/values- FromBodystring (Delete value)接口/values/5- Put(int id,Delete value)接口/values/5-FromBodystring(Int id)

但是我想要有额外的操作,比如:

api/values/someoperation1 1 api/values/searchby...等。

在这下面有第二条路线不会有什么帮助

代码语言:javascript
复制
        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{action}"
        );
EN

回答 1

Stack Overflow用户

发布于 2012-10-03 06:08:07

默认情况下,不可能在单个控制器中混合使用REST样式路由和RPC样式路由。

在ASP.NET Web Stack的Codeplex - http://aspnetwebstack.codeplex.com/workitem/184上有一个开放的问题。

对于您来说,唯一合理的解决方案是为每个资源配置两个控制器--一个用于CRUD,另一个用于非CRUD (RPC)类型的操作。

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

https://stackoverflow.com/questions/12697832

复制
相关文章

相似问题

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