簡體   English   中英

REST服務在ColdFusion 11中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM