首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >架构最佳实践 - 在哪里放置非REST操作?

架构最佳实践 - 在哪里放置非REST操作?
EN

Stack Overflow用户
提问于 2019-06-25 00:59:01
回答 2查看 0关注 0票数 0

我正在制作我的第一个真正的Rails应用程序,并且正在学习REST架构以及它如何适应Rails应用程序。我的控制器似乎并没有真正地映射到单个资源,因此我很难实现严格的REST。例如,我有一个“目录”,“结帐”和“管理”控制器,而不是“产品”,“类别”,“订单”和“用户”控制器,尽管这些是这些控制器中使用的主要资源。每个控制器不仅仅执行资源上的REST操作,而且所有控制器都从多个模型中提取并为多个视图提供服务。

我错过了一个设计/架构实践,可以让REST更好地工作吗?可能是命名空间控制器,仅在顶级控制器中使用非REST操作,在子控制器中使用REST操作?好像我会在那里遇到一些干扰......

EN

Stack Overflow用户

发布于 2019-06-25 10:48:51

如果你看一下这里的HTTP规范 你会发现POST可以使用的一件事是:

Providing a block of data, such as the result of submitting a form, to a data-handling process;

因此,您可以创建一个“数据处理过程”的控制器,并在不违反任何REST约束的情况下对其执行POST。如果使用名词命名资源,则可以使URL感觉更加RESTful,但实际上并非没有必要。例如

代码语言:javascript
复制
POST /MyStore/CheckoutGirl

至于你的目录,我不明白为什么它不容易映射。GET / MyStore / Catalog / Item / 2324 GET / MyStore / Catalog / SaleItems

管理员通常会映射到用户,角色等。那里没有什么新东西。

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

https://stackoverflow.com/questions/-100001287

复制
相关文章

相似问题

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