Http тело ответа имеет кавычки с сервера Dart Aqueduct - PullRequest
0 голосов
/ 26 апреля 2019

Когда ответ возвращается из контроллера Акведука, как этот

return Response.ok('hello');

тело ответа имеет кавычки:

"hello"

То же самое, когда я возвращаюСтрока JSON, подобная этой:

return Response.ok('{"token":"$token"}');

Я получаю это:

"{\"token\":\"eyJhbG...soOFY8\"}"

, который портит анализ JSON на стороне клиента.

Есть ли способне отправить кавычки?

1 Ответ

0 голосов
/ 26 апреля 2019

ContentType по умолчанию для ответа уже является JSON. Если вы хотите отправить плоский текст, вам нужно установить тип содержимого в виде простого текста.

// import 'dart:io';

return Response.ok('hello')..contentType = ContentType.text;

Тело ответа будет

hello

Чтобы отправить JSON, просто отправьте карту, а не конвертируйте ее в строку самостоятельно:

return Response.ok({'token':token});

Это даст тело ответа

{"token":"eyJhbGc...vCxdE"}

Смотри также

Credit

Спасибо Джо Конвею по каналу Aqueduct Slack за помощь в решении этой проблемы. Я добавляю решение здесь в виде вопросов и ответов, чтобы другим было проще.

...