Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

116
Visualizações
Cómo hacer una solicitud POST de Flutter a la API REST de Amplify

Siguiendo la documentación de introducción para la API REST de Amplify Flutter, la solicitud POST generada automáticamente a continuación para ExpressJS genera el siguiente error:

SyntaxError: Token inesperado ' en JSON en la posición 1 en JSON.parse

La solicitud GET devuelve bien, pero al cambiar a POST y agregar el campo de body a continuación de la documentación, se devuelve el error. ¿Cómo se puede llamar con éxito una solicitud POST desde Flutter usando la API REST de Amplify?

Solicitud GET de Flutter - (sin error)

 Future<void> callAPI() async { try { RestOptions options = RestOptions( path: '/example', apiName: 'ExpressJSRESTAPI' ); RestOperation restOperation = Amplify.API.get( restOptions: options ); RestResponse response = await restOperation.response; print('GET call succeeded'); print(new String.fromCharCodes(response.data)); } on ApiException catch (e) { print('GET call failed: $e'); } }

Solicitud POST de Flutter (arroja un error)

 Future<void> callAPI() async { try { RestOptions options = RestOptions( path: '/example', body: Uint8List.fromList('{\'name\':\'Mow the lawn\'}'.codeUnits), apiName: 'ExpressJSRESTAPI' ); RestOperation restOperation = Amplify.API.post( restOptions: options ); RestResponse response = await restOperation.response; print('POST call succeeded'); print(new String.fromCharCodes(response.data)); } on ApiException catch (e) { print('POST call failed: $e'); } }

Ruta de solicitud ExpressJS GET

 app.get('/example', function(req, res) { // Add your code here res.json({success: 'get call succeed!', url: req.url}); });

Ruta de solicitud POST de ExpressJS

 app.post('/example', function(req, res) { // Add your code here res.json({success: 'post call succeed!', url: req.url, body: req.body}) });
about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Basado en la discusión de github aquí , el problema ocurre debido a un carácter de escape innecesario.

Cambie su parámetro de cuerpo a esto:

 body: Uint8List.fromList('{"name":"Mow the lawn now!"}'.codeUnits)

o

 body: ascii.encode('{"name":"Mow the lawn"}')
about 4 years ago · Santiago Trujillo Relatório

0

En la documentación, observe la barra invertida (\) en los argumentos fromList de sus RestOptions.

 RestOptions options = RestOptions( path: '/todo', body: Uint8List.fromList('{\'name\':\'Mow the lawn\'}'.codeUnits) );
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda