📦 Simplified uri
A lightweight Dart utility for building URLs with deeply nested query parameters from Map and List objects.
Perfect for building REST API queries, especially when dealing with complex structures like:
{
"filter": {
"status": "active",
"tags": ["dart", "flutter"]
},
"page": 1
}
This will generate:
?filter[status]=active&filter[tags][0]=dart&filter[tags][1]=flutter&page=1
🚀 Features
- ✅ Converts nested
Map<String, dynamic>andListto query string - ✅ Automatically encodes values using
Uri.encodeQueryComponent - ✅ Supports null values (encoded as empty strings)
- ✅ Lightweight and dependency-free
🛠Usage
import 'package:simplified_uri/simplified_uri.dart';
void main() {
final url = SimplifiedUri.uri(
'https://api.example.com',
{
'search': 'example',
'filters': {
'tags': ['flutter', 'dart'],
'status': 'active',
},
'page': 1,
},
);
print(url);
// Output:
// https://api.example.com?search=example&filters[tags][0]=flutter&filters[tags][1]=dart&filters[status]=active&page=1
}
Libraries
- simplified_uri
- Support for doing something awesome.