La respuesta de Symfony json devuelve contenido dos veces

Jimmy Borofan

He estado escribiendo una API usando Symfony como backend, un complemento escrito por un tercero envía ciertos datos a un endpoint, el endpoint debe devolver una respuesta codificada en json, sin embargo, siguiendo las instrucciones que se establecen en la documentación actual de Symfony ( https://symfony.com/doc/current/components/http_foundation.html ) el valor de retorno se muestra dos veces y la respuesta no está bien formada y los resultados son como una cadena

El método original que escribí tenía llamadas a una base de datos para validar un token, almacenar un marcador y mostrar el resultado del proceso de backend, sin embargo, al llegar a las tachuelas y eliminar todo menos la construcción de respuesta; es obvio que aquí es donde radica el problema. El método usa este fragmento, aunque para mayor claridad no he incluido el procesamiento de la base de datos y usé los valores publicados como la matriz de retorno, el resultado es el mismo si es la publicación o los datos procesados, la salida se muestra dos veces.

$token = $request->request->get('token');
$bookmark = $request->request->get('bookmark');
$data = ['token' => $token, 'bookmark' => $bookmark];
$response = new Response();
$response->headers->set('Access-Control-Allow-Origin', '*');
$response->setContent(json_encode($data));
$response->send();
return $response;

Lo que esperaba era una única respuesta json, pero lo que se devuelve es una cadena doble de la salida json

por ejemplo, si publiqué estos valores en el fragmento anterior:

token: ksjdbvqpi8e7rqp7evbprb
bookmark: http://www.google.com

el resultado devuelto es

    {"token":"ksjdbvqpi8e7rqp7evbprb", "bookmark":"http:\/\/www.google.com"}{"token":"ksjdbvqpi8e7rqp7evbprb", "bookmark":"http:\/\/www.google.com"}

cuando lo que esperaba era solo

{"token":"ksjdbvqpi8e7rqp7evbprb", "bookmark":"http:\/\/www.google.com"}

No tengo idea en este momento por qué se muestra dos veces, cualquier ayuda es como siempre agradecida.

Gracias

u_mulder

$response->send(); es la línea que debe eliminarse.

Como ya devolviste el objeto de la clase, ResponseSymfony se encargará de enviar esta respuesta al navegador, no necesitas hacerlo manualmente con send().

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

La respuesta de Symfony json devuelve contenido dos veces

La URL JSON a veces devuelve una respuesta nula

La función del trabajador web devuelve la respuesta dos veces para una sola llamada

El contenido de la misma pestaña se muestra dos veces

La relación de Laravel devuelve al padre dos veces

Escribí un código de ecuación cuadrática muy básico, y no devuelve 'Ninguno' como pretendo. Simplemente imprime la respuesta correcta dos veces

deno | la respuesta ocurre dos veces

¿Verifique el contenido de la respuesta a la solicitud json?

Renderizar el contenido de ViewGroup dos veces

Devuelve la respuesta JSON de la función Python

Seleccionar de EAV devuelve filas dos veces

La entidad de respuesta de Spring Boot no devuelve JSON

La pregunta se imprime dos veces (después de proporcionar la respuesta correcta) JavaScript

Devuelve JSON como respuesta de la API web

La búsqueda binaria devuelve una respuesta incorrecta muchas veces

obteniendo el atributo de nombre de archivo dos veces en la disposición de contenido

Acceder a la cadena del cuerpo de una respuesta OkHttp dos veces da como resultado IllegalStateException: cerrado

Llamar a requestPermissions dos veces en llamadas personalizadas del kernel onRequestPermissionsResult antes de la respuesta del usuario

Acceder a la cadena del cuerpo de una respuesta OkHttp dos veces da como resultado IllegalStateException: cerrado

Llamar a requestPermissions dos veces en llamadas personalizadas del kernel onRequestPermissionsResult antes de la respuesta del usuario

AngularJS: evite llamar al mismo servicio REST dos veces antes de recibir la respuesta

AngularJS: Evite llamar al mismo servicio REST dos veces antes de recibir la respuesta

Hacer la misma llamada dos veces seguidas no actualiza la respuesta

en SQL, ¿por qué JOIN devuelve la columna de clave dos veces?

Consulta SQL que devuelve la misma fila de datos dos veces

Microsoft Bot envía la respuesta dos veces en Teams

La respuesta de musixmatch api devuelve 200 pero devuelve json con valores None

La etiqueta de la plantilla de campo personalizado de Symfony se representa dos veces

Consulta a Json: devuelve cada columna dos veces con nombres diferentes

TOP Lista

CalienteEtiquetas

Archivo