我正努力在railo中创建REST API,但我的railo配置似乎有一些问题。
我的铁路管理员一直跟我说:
“REST没有在您的环境中配置”。
因此,我在我的web.xml中添加了REST启用代码(位于我的网站/web.xml中)
<servlet id="RESTServlet">
<description>Railo Servlet for RESTful services</description>
<servlet-name>RESTServlet</servlet-name>
<servlet-class>railo.loader.servlet.RestServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>RESTServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping> 但还是不起作用。
当我试图调用API时,我给出了404错误。
看起来,railo服务器没有识别url的/rest/部分。
url试图访问REST,类似于:
{mysite}/rest/{rest-api-mapping-name}/{component-rest-parth}/{function-rest-path}
请告诉我我做错了什么。
谢谢
发布于 2014-09-19 22:35:29
如果在Linux上与Railo一起使用Apache,则需要对Apache配置进行快速修改,以启用对REST的访问。在debian上的主要Apache配置文件(/etc/apache2/apache2.conf和RHEL中的/etc/httpd/httpd.conf )中,您需要编辑Railo代理配置并取消REST模式匹配的注释,如下所示:
<IfModule mod_proxy.c>
<Proxy *>
Allow from 127.0.0.1
</Proxy>
ProxyPreserveHost On
ProxyPassMatch ^/(.+\.cf[cm])(/.*)?$ http://127.0.0.1:8888/$1$2
ProxyPassMatch ^/(.+\.cfchart)(/.*)?$ http://127.0.0.1:8888/$1$2
ProxyPassMatch ^/(.+\.cfml)(/.*)?$ http://127.0.0.1:8888/$1$2
# optional mappings
#ProxyPassMatch ^/flex2gateway/(.*)$ http://127.0.0.1:8888/flex2gateway/$1
#ProxyPassMatch ^/messagebroker/(.*)$ http://127.0.0.1:8888/messagebroker/$1
#ProxyPassMatch ^/flashservices/gateway(.*)$ http://127.0.0.1:8888/flashservices/gateway$1
#ProxyPassMatch ^/openamf/gateway/(.*)$ http://127.0.0.1:8888/openamf/gateway/$1
ProxyPassMatch ^/rest/(.*)$ http://127.0.0.1:8888/rest/$1
ProxyPassReverse / http://127.0.0.1:8888/
</IfModule>具体来说,这一行需要不加注释:
ProxyPassMatch ^/rest/(.*)$ http://127.0.0.1:8888/rest/$1让我们知道,如果这有助于摆脱您目前正在获得的404。
https://stackoverflow.com/questions/25924109
复制相似问题