问题描述
<cfcomponent rest="true" restpath="api">
<cffunction name="getUsersQuery" restpath="Users?filter={query}" access="remote" returntype="struct" httpmethod="GET" produces="application/json">
<cfargument name="query" type="any" required="yes" restargsource="query" />
<cfset var response = {} />
<cfset response["message"] = "Test" />
<cfreturn response>
</cffunction>
</cfcomponent>
但是当我尝试像下面这样调用终点时,它会显示“不允许使用方法”
http://localhost:8010/rest/v1/api/Users?filter=userName eq "test"
任何帮助将不胜感激。
解决方法
由于您在参数中提到了?filter={query}
,因此无需在其余路径中提供restargsource="query"
。另外,参数名称也应该是网址键值。
<cffunction name="getUsersQuery" restpath="Users" access="remote" returntype="struct" httpmethod="GET" produces="application/json">
<cfargument name="filter" type="any" required="yes" restargsource="query" />
<cfset var response = {} />
<cfset response["message"] = "Test" />
<cfreturn response>
</cffunction>