[英]REST services in ColdFusion 11
我正在嘗試在Coldfusion中創建一個新的Rest服務,並且我想嘗試不傳遞一些參數(如果我沒有它們的值),但是我從函數中收到“未找到”響應。
REST服務CFC:
<cfcomponent rest="true" restpath="/crudService">
<cffunction name="getHandlerJSON" access="remote" httpmethod="GET" restpath="{customerID}" returntype="query" produces="application/json">
<cfargument name="customerID" required="false" restargsource="Path" type="numeric" default=-1/>
<cfset myQuery = queryNew("id,name","Integer,varchar",[[1, "Sagar"], [2, "Ganatra"]])>
<cfquery dbtype="query" name="resultQuery">
select * from myQuery where 1=1
<cfif arguments.customerID neq -1>
and id = #arguments.customerID#
</cfif>
</cfquery>
<cfreturn resultQuery>
</cffunction>
</cfcomponent>
這就是我所說的:
<cfhttp url="http://dev.test.com/rest/api/crudService/2" result="restResult" method="GET" />
<cfdump var="#deserializeJSON(restResult.filecontent,false)#">
結果:
{"COLUMNS":["ID","NAME"],"DATA":[[2,"Ganatra"]]}
我想做的是能夠不帶ID即可調用我的服務,並返回所有結果。 我是否需要為此創建單獨的功能? 最佳做法是什么?
通過PATH將參數傳遞給REST服務CFC時,這些參數必須存在於URL中。 如果不是,則路徑CF正在查看的路徑不正確。
我相信您將需要一個單獨的函數來返回所有結果...或,傳遞一個像1000000這樣的大數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.