Получить параметры / строку запроса из запроса ColdFusion - PullRequest
1 голос
/ 05 ноября 2019

Я не могу получить параметры запроса внутри компонента ColdFusion.

Я пытался использовать:

  • <cfparam name="url.q2" default="">
  • cgi.QUERY_STRING
  • arguments

Все пусто

У меня есть компонент:

<cfcomponent extends="taffy.core.resource" taffy:uri="/public/test" hint="some hint about this resource">
    <cffunction name="get" access="public" output="false">
        <cfparam name="url.query_p1" default="">
        <cfparam name="url.p2" default="">

        <cfset result = structNew() />

        <cfset result['arguments'] = arguments />
        <cfset result['cgi'] = cgi />
        <cfset result['QUERY_STRING'] = cgi.QUERY_STRING />
        <cfset result['url'] = url />

        <cfreturn representationOf(result).withStatus(200) />
    </cffunction>
</cfcomponent>

И используйте этот URL для теста: http://localhost/public/test?query_p=1&p2=test

В ответ я получил:

{
    "data": {},
    "arguments": {
        "endpoint": "/public/test/",
        "type": "candidate"
    },
    "QUERY_STRING": "endpoint=/public/test/",
    "url": {
        "endpoint": "/public/test/",
        "query_p1": "",
        "p2": ""
    },
    "cgi": {
        "query_string": "endpoint=/public/test/",
        "request_url": "http://localhost/index.cfm?endpoint=/public/test/",

    }
}

Как я могу получить что-то вроде? :

query_p=1
p2=test
...

1 Ответ

0 голосов
/ 05 ноября 2019

Вы хотите что-то вроде этого:

<cfcomponent extends="taffy.core.resource" taffy:uri="/public/test" hint="some hint about this resource">
<cffunction name="get" access="public" output="false">
    <cfargument name="query_p1" default="">
    <cfargument name="p2" default="">


    <cfreturn rep(arguments)>
</cffunction>
</cfcomponent>

Вы можете увидеть дополнительные примеры Таффи на

https://github.com/jmohler1970/Taffy_Verbs_withCache/blob/master/resources/users/users_id.cfc

Отказ от ответственности: Это мой пример кода

...