跳到ColdFusion REST服务中的发送参数

时间:2015-08-12 03:52:28

标签: web-services rest coldfusion coldfusion-11 coldfusionbuilder

我正在编写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//

但这会引发“未找到”错误。任何建议都将受到高度赞赏。

1 个答案:

答案 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