在ColdFusion Lucee上创建我的第一个RestFul Web服务。
这些是我遵循的步骤。
Hello.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>
Call.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">
/Example
当我运行Call.cfm时,我得到了这个输出
在映射中找不到[/RestAPI/call.cfm]的休息服务[/ example]
答案 0 :(得分:1)
从您的初始屏幕截图中我发现问题似乎就是您调用call.cfm
模板的方式。报告的错误消息是:
在映射中找不到[/RestAPI/call.cfm]的休息服务[/ example]
这告诉我它正在通过REST API寻找服务而不是简单地调用模板。我认为这是因为您在网址中使用call.cfm
引用了/rest/
模板。再次从截图中我在浏览器的地址栏中看到了这个:
mydev:8888/rest/RestAPI/call.cfm
这时我建议将您的call.cfm
模板移出该子文件夹并进入网络根目录。但是,我认为如果在call.cfm
文件夹中包含/RestAPI/
文件时正确引用它也会有效。您应该能够像这样引用它:
mydev:8888/RestAPI/call.cfm
请注意,我已从此URL中删除了浏览器请求的/rest/
引用。尽管如此,您仍然需要/rest/
电话中的<cfhttp>
引用。
最后一个问题请在答案框中回答。我可以将多个组件(cfcs)文件保存在一个文件夹中。地图吗?
是的,您可以在API文件夹中保留多个CFC。