0
coldfusionで新しいレストサービスを作成しようとしていますが、値がない場合はパラメータを渡さないようにしたいと考えていましたが、私の機能。ColdFusion 11での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なしで私のサービスを呼び出すことができ、すべての結果を戻すことができます。このために別の関数を作成する必要がありますか?ベストプラクティスは何ですか?