Как отправить параметры URL из флаттера - PullRequest
0 голосов
/ 10 марта 2020

Я хочу получить набор данных из коллекции сообщений, используя postId. Я создал маршрут в моем API для этого. Работает в почтальоне. Но я хочу то же самое в своем приложении. Я хочу отправить PostId с моим запросом Http GET во флаттере .

мой код

class _PostScreenState extends State<PostScreen> {
    List data;

  Future<List> getData() async {
    final response = await http.get("http://192.168.1.100:3000/posts?postId: 5e6619d9099432c2dc68c1b9");
    return json.decode(response.body);
  }

  @override
  void initState() { 
    super.initState();
     this.getData();
  }

и по моему маршруту API

    router.get('/:postId', (req, res, next) => {
    res.status(200).json({
        message: 'Post get /posts',
        postId: req.params.postId
    });
});

Я хочу отправить postId в моем запросе get и получить данные из ответа.

 final response = await http.get("http://192.168.1.100:3000/posts?postId: 5e6619d9099432c2dc68c1b9");

1 Ответ

0 голосов
/ 10 марта 2020

Вы должны использовать ? только для параметров запроса, а для параметров URL вы должны написать так:

 final response = await http.get("http://192.168.1.100:3000/posts/5e6619d9099432c2dc68c1b9");

и не нужно указывать postId в URL.

И, возвращая ответ, вы должны создать из него карту, чтобы вы могли получить доступ к результату.

return new Map<String, dynamic>.from(response.data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...