Ubuntu 20.04LTS, with Python 3.8 for FastAPI, and Flutter 2.8.1, with Android SDK version 32.0.0.
I am trying to send a Map from Flutter to FastAPI.I have figured out how to POST, but how can I receive it from FastAPI side?
Is database necessary?
Flutter side:
import 'src/models/keywords_model.dart';import 'package:flutter/material.dart';import 'package:http/http.dart' show get, post;import 'dart:convert';class SearchScreen extends StatefulWidget { const SearchScreen(List<KeywordsModel> keywords, {Key? key}) : super(key: key); @override _SearchScreenState createState() => _SearchScreenState();}class _SearchScreenState extends State<SearchScreen> { final _formKey = GlobalKey<FormState>(); final List<String> keywords = []; final Map<String, dynamic> keywordsMap = {}; Future<void> postKeywords(parsedJson) async { await post(Uri.http("10.0.2.2:8000", "/search"), body: parsedJson); } @override Widget build(BuildContext context) { return Scaffold( floatingActionButton: FloatingActionButton( child: Icon(Icons.search), onPressed: () { print('---------------' * 20); for (int i = 0 ; i < keywords.length ; i++) { keywordsMap["$i"] = keywords[i]; } var parsedJson = json.encode(keywordsMap); postKeywords(parsedJson); }, ),/// Skipped many lines ); }}
FastAPI side:
from fastapi import FastAPIimport jsonapp = FastAPI()@app.post("/search/")async def receive_keywords():"""What to Put Here?""" json.loads(?????)