gpt4 book ai didi

web-services - ColdFusion Lucee 或 Railo RestFull Web 服务映射问题

转载 作者:行者123 更新时间:2023-12-04 04:19:25 24 4
gpt4 key购买 nike

在 ColdFusion Lucee 上创建我的第一个 RestFul Web 服务。

这些是我遵循的步骤。

  1. 在 ROOT 上创建名为“RestAPI”的文件夹
  2. 在 RestAPI/API 下创建子文件夹(对于 CFC)
  3. 创建了 CFC RestAPI/API/Hello.cfc

你好.cfc

<cfcomponent rest="true" restpath="/hello"> 
<cffunction name="formPost" access="remote" returnType="String" httpMethod="POST" restPath="/form">
<cfargument name="firstname" type="String" restArgSource="Form">
<cfargument name="lastname" type="String" restArgSource="Form">
<cfset res="firstname : " & #firstname# & " lastname : " & #lastname#>
<cfreturn res>
</cffunction>
</cfcomponent>
  1. 创建 CFM Call.cfm

调用.cfm

<cfhttp url="http://mydev:8888/rest/Example/hello/form" method="POST" result="res" port="8888">
<cfhttpparam type="formfield" name="firstname" value="Dan">
<cfhttpparam type="formfield" name="lastname" value="Bin">
  1. 在 lucee 管理服务器中创建了一个映射。 /示例

当我运行 Call.cfm 时,我得到了这个输出

no rest service for [/RestAPI/call.cfm] found in mapping [/Example]

Please see the attached screen shots

Just want to know why it is not working in root folder

最佳答案

从您的初始屏幕截图中,我发现问题似乎出在您如何调用 call.cfm模板。报告的错误信息是:

no rest service for [/RestAPI/call.cfm] found in mapping [/Example]

这告诉我它正在通过您的 REST API 寻找服务,而不是简单地调用模板。我认为这是因为您引用了您的 call.cfm模板使用 /rest/在网址中。再次从屏幕截图中,我在浏览器的地址栏中看到了这一点:

mydev:8888/rest/RestAPI/call.cfm

这是我建议移动您的 call.cfm 的时候模板从该子文件夹中移出并放入 Web 根目录中。但是,我认为如果您在 call.cfm 时正确引用它,它也会起作用。文件包含在您的 /RestAPI/ 中文件夹。您应该能够像这样引用它:

mydev:8888/RestAPI/call.cfm

注意我已经删除了 /rest/来自此 URL 的浏览器请求引用。您仍然需要 /rest/在您的 <cfhttp> 中引用尽管打电话。

最后一个问题请在答案框中回答。我可以将多个组件 (cfcs) 文件保存在一个文件夹和 map 中吗?

是的,您可以在 API 文件夹中保留多个 CFC。

关于web-services - ColdFusion Lucee 或 Railo RestFull Web 服务映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33638148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com