Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir 使用Phoenix.Router自定义HTTP谓词_Elixir_Phoenix Framework - Fatal编程技术网

Elixir 使用Phoenix.Router自定义HTTP谓词

Elixir 使用Phoenix.Router自定义HTTP谓词,elixir,phoenix-framework,Elixir,Phoenix Framework,如何使用phoenix框架在elixir应用程序中启用自定义HTTP谓词 我可以看到如何在中创建宏get,post等。然而,可能是由于使用了嵌套的宏体系结构,我无法使用如下路由器定义实现自定义HTTP谓词,例如bla: Phoenix.Router.Scope.route Ical.Router, :match, :bla, "/bla", PageController, :bla, [] 虽然不会导致编译器错误,但在执行BLA/BLA HTTP/1.1请求时会生成404 它甚至在尝试使用模拟

如何使用phoenix框架在elixir应用程序中启用自定义HTTP谓词

我可以看到如何在中创建宏
get
post
等。然而,可能是由于使用了嵌套的宏体系结构,我无法使用如下路由器定义实现自定义HTTP谓词,例如
bla

Phoenix.Router.Scope.route Ical.Router, :match, :bla, "/bla", PageController, :bla, []
虽然不会导致编译器错误,但在执行
BLA/BLA HTTP/1.1
请求时会生成404

它甚至在尝试使用模拟GET行为时都不起作用

Phoenix.Router.Scope.route Ical.Router, :match, :get, "/bla", PageController, :bla, []

对此的任何提示都将不胜感激

好的,我找到了一种使用应用程序的配置文件实现这一点的方法


这个简单的实现和这个案例的未来可以在这个pull请求中看到:.

Phoenix.Router.Scope.route
没有文档记录,因此它是Phoenix webframework的私有。请不要调用私有函数,Phoenix可以随时更改,您的代码将被破坏。为什么需要自定义HTTP谓词?这样做涉及到许多权衡,因此不应轻率行事:你好,何塞,谢谢你的评论。定制HTTP谓词的目的实际上不是发明新的通信协议,而是探索实现WebDAV/CalDAV协议的子集。据我所知,由于我的研究才刚刚开始,因此需要自定义HTTP动词。因此,最好在Phoenix issues tracker中打开一个问题。我认为我们目前不支持他们。:)