首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在sails.js中限制http请求类型?

如何在sails.js中限制http请求类型?
EN

Stack Overflow用户
提问于 2016-05-21 18:45:58
回答 1查看 581关注 0票数 1

在sailsjs blueprint api中,默认情况下,action route响应所有四种类型的请求- GET、POST、PUT、DELETE。我只想拒绝路由的某些类型的请求,而允许其他类型的请求通过。例如,我可能希望只接受对/foo/bar处的bar操作的POST请求,而拒绝对该路由的GET、PUT和DELETE请求。

尽管可以使用策略来限制控制器操作。

FooController:{ bar: false,},

但是,在这里,它拒绝所有4种类型的请求,或者基于相同的条件允许所有4种类型的请求。相反,我想要的是总是拒绝4种类型的请求中的3种,同时总是允许第四种类型通过。

在不禁用Blueprint并在/config/routes.js中手动输入路由的情况下,是否可以做到这一点?如果是这样的话,是怎么做的?

EN

回答 1

Stack Overflow用户

发布于 2016-05-24 15:27:05

这是一个用于您的路由文件(/config/routes.js)的文件,而不是您所标识的策略文件。

代码语言:javascript
运行
复制
'POST /page/link': YourControllerName.ActionName,
'GET /': YourHomePageController.ActionName,
'PUT /login': UserController.login

前两个是显示语法的示例。最后一个示例显示了这在控制登录表单提交的典型设置中的效果。如果您希望通过POST和PUT允许多次,那么只需添加具有相同controller.action的另一行,但更改方法即可。

有关更多示例以及其他可使用的语法,请查看此处:

http://sailsjs.org/documentation/concepts/routes

一旦你有了你想要的路线,你将需要关闭蓝图方法,如果你留在上面,它将覆盖这些路线,并仍然允许通过。

转到您的config/Bluprint.js文件并更改以下各项:

代码语言:javascript
运行
复制
actions: false
rest: false
shortcuts: false

同样,有关这些功能以及如何使用它们的更多信息,可以在此处找到:

http://sailsjs.org/documentation/reference/configuration/sails-config-blueprints

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

https://stackoverflow.com/questions/37361883

复制
相关文章

相似问题

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