我正在编写REST组件,但是当我不想为参数传递参数时遇到困难。我的代码和URL(PATH样式)看起来像这样。
组件定义:
<cfcomponent rest="true" restPath="SearchRestAPI">
<cffunction name="restaurantResults" access="remote" httpMethod="get"
output="false" returntype="Query" produces="application/json"
restPath="Search/{city : ([a-zA-Z])*}/{address}/{type}">
<cfargument name="city" default="" type="string" restargsource="path">
<cfargument name="address" default="" type="string" restargsource="path">
<cfargument name="type" default="" type="string" restargsource="path">
调用URL / Path以使用REST服务。注意我不想发送type参数的任何值,所以在路径的末尾有两个斜杠:
http://localhost:8502/backend/section/SearchResAPI/Search/Calcutta/Lindsay Street//
但这会引发“未找到”错误。任何建议都将受到高度赞赏。
答案 0 :(得分:0)
我不确定这个ColdFusion功能,但看起来像&#34; restPath&#34;适用于正则表达式(您在捕获城市参数时已经使用
)([a-zA-Z])* // your city parameter matches the specified character sets zero or more times.
与上述类似,您可以尝试:
restPath="Search/{city : ([a-zA-Z])*}/{address}/{type: ([a-zA-Z])*}"
这是一个ColdFusion页面,其中也包含一些示例(在页面中搜索&#34; restPath&#34;): https://wikidocs.adobe.com/wiki/display/coldfusionen/cfcomponent