rest iis coldfusion coldfusion-10 taffy

rest - La respuesta está dando// barras al comienzo-Taffy-ColdFusion



iis coldfusion-10 (1)

Configuré mi primera API REST y soy nuevo en el uso del framework Taffy.

Tengo un sitio que está trabajando en ColdFusion 10, IIS y usando ColdBox. He configurado un ejemplo de Hello World en un directorio. Estoy recibiendo // dos barras en la respuesta. Aquí hay un ejemplo de la respuesta:

//["hello","world"]

Mi hello.cfc se ve así:

component extends="taffy.core.resource" taffy_uri="/hello" { function get(){ return representationOf([''hello'',''world'']); } }

Mi application.cfc se ve así:

<cfcomponent extends="taffy.core.api"> <cfscript> this.name = hash(getCurrentTemplatePath()); this.mappings["/resources"] = listDeleteAt(cgi.script_name, listLen(cgi.script_name, "/"), "/") & "/resources"; variables.framework = {}; variables.framework.reloadKey = "reload"; variables.framework.reloadPassword = "test"; variables.framework.serializer = "taffy.core.nativeJsonSerializer"; variables.framework.returnExceptionsAsJson = true; function onApplicationStart(){ return super.onApplicationStart(); } function onRequestStart(TARGETPATH){ // reload app to make any envoirnmental changes if(structkeyexists(url,''reloadApp'')){ applicationStop(); location(''index.cfm''); } // load Taffy onRequestStart before our stuff super.onRequestStart(); if (request.taffyReloaded) { // reload ORM as well ORMReload(); } } function onTaffyRequest(verb, cfc, requestArguments, mimeExt){ return true; } function onError(Exception) { writeDump(Exception); abort; } </cfscript> </cfcomponent>

¿Alguien puede decirme dónde me estoy equivocando? ¿Tiene esto algo que ver con el uso de ColdBox?


Esto proviene de una configuración del lado del servidor en el administrador de ColdFusion, en la configuración . Prefijo serializado JSON con . A partir de ColdFusion 10, está habilitado de forma predeterminada para la seguridad. (Creo que la característica se agregó con ColdFusion 9.) Protege los servicios web, que devuelven los datos JSON de los ataques de secuencias de comandos entre sitios al poner como prefijo las cadenas JSON serializadas con un prefijo personalizado. Podría apagarlo allí, pero no lo recomiendo. En cambio, debes manejarlo con tu código.

Ver este post de Raymond Camden - Manejo de JSON con prefijos en jQuery y jQueryUI

NOTA: esta configuración también se puede establecer por aplicación configurando secureJSON y secureJSONPrefix en su archivo Application.cfc. Ver la documentación sobre eso aquí - Variables de aplicación .

secureJSON : valor booleano que especifica si se agrega un prefijo de seguridad frente al valor que una función ColdFusion devuelve en formato JSON en respuesta a una llamada remota.

El valor predeterminado es el valor de la configuración JSON serializada de Prefijo en la página Configuración del servidor de administrador> Configuración (que por defecto es falsa). Puede anular este valor en la etiqueta cffunction.

secureJSONPrefix : el prefijo de seguridad que se pone delante del valor que una función ColdFusion devuelve en formato JSON en respuesta a una llamada remota si la configuración secureJSON es verdadera.

El valor predeterminado es el valor de la configuración JSON serializada de Prefijo en la página Configuración del servidor de administrador> Configuración (que por defecto es //, el carácter de comentario de JavaScript).