In Dart, you can add query parameters to an HTTP request using the Uri class. Dart's http package provides a convenient way to work with HTTP requests. Here's an example of how to add query parameters to a Dart HTTP request:
import 'dart:convert'; import 'package:http/http.dart' as http; void main() async { // URL with query parameters var url = Uri.parse('https://example.com/api/data'); // Query parameters var queryParams = {'param1': 'value1', 'param2': 'value2'}; // Append query parameters to the URL url = url.replace(queryParameters: queryParams); // Perform the HTTP GET request var response = await http.get(url); // Check the response status if (response.statusCode == 200) { // Parse and print the response body print(json.decode(response.body)); } else { // Handle errors print('Error: ${response.statusCode}'); } } In this example:
We define the base URL using Uri.parse('https://example.com/api/data').
We create a Map named queryParams containing the query parameters. Replace 'param1', 'param2', etc., with your actual parameter names and values.
We use the replace method of the Uri class to append the query parameters to the URL.
We perform an HTTP GET request using the http.get function, passing in the modified URL.
We check the response status and handle the response accordingly.
Note: Ensure that you have added the http package to your pubspec.yaml file:
dependencies: http: ^0.13.3
Make sure to check for the latest version on pub.dev. Update the version number accordingly.
This example demonstrates a GET request, but the same approach can be used for other HTTP methods like POST, PUT, etc., by using the corresponding methods provided by the http package.
Dart http package add query parameters to a GET request
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add query parameters queryParameters: {'param1': 'value1', 'param2': 'value2'}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } How to add query parameters to a Dart http POST request
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.post(url, headers: {'Content-Type': 'application/json'}, // Add query parameters body: {'param1': 'value1', 'param2': 'value2'}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Dart http package add query parameters with multiple values
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add query parameters with multiple values queryParameters: {'param1': ['value1', 'value2']}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Dart http package add query parameters dynamically
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var queryParams = {'param1': 'value1', 'param2': 'value2'}; // Dynamically add query parameters queryParams['param3'] = 'value3'; var response = await http.get(url, headers: {'Content-Type': 'application/json'}, queryParameters: queryParams); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } How to encode special characters in Dart http request parameters
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Encode special characters in query parameters queryParameters: {'param1': Uri.encodeComponent('special@chars')}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Uri.encodeComponent.Dart http package add query parameters with null values
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add query parameters with null values queryParameters: {'param1': null, 'param2': 'value2'}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Dart http package add multiple query parameters in a concise way
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add multiple query parameters concisely queryParameters: {'param1': 'value1', 'param2': 'value2', 'param3': 'value3'}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Dart http package add query parameters with boolean values
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add query parameters with boolean values queryParameters: {'param1': true, 'param2': false}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } How to add query parameters to a Dart http request with custom headers
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var headers = {'Content-Type': 'application/json', 'Authorization': 'Bearer YOUR_ACCESS_TOKEN'}; var response = await http.get(url, headers: headers, // Add query parameters queryParameters: {'param1': 'value1', 'param2': 'value2'}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } Dart http package add query parameters with DateTime values
import 'package:http/http.dart' as http; void main() async { var url = Uri.parse('https://example.com/api/data'); var response = await http.get(url, headers: {'Content-Type': 'application/json'}, // Add query parameters with DateTime values queryParameters: {'param1': DateTime.now().toIso8601String()}); print('Response status: ${response.statusCode}'); print('Response body: ${response.body}'); } DateTime values, converting the current date to an ISO 8601 string.back-stack partitioning psycopg2 pickle gdi amazon-kinesis-firehose redis-py xdebug react-native-text smsmanager