apiOutputJsonApi function
- @Preview(name: 'API Output - JSON:API')
Widget
apiOutputJsonApi(
)
Implementation
@Preview(name: 'API Output - JSON:API')
Widget apiOutputJsonApi() {
const requestBuilder = DataGridRequestBuilder(standard: ApiFilterStandard.jsonApi);
final request = requestBuilder.buildRequest(
page: 2,
pageSize: 15,
filters: {
'category': const VooDataFilter(operator: VooFilterOperator.equals, value: 'electronics'),
'price': const VooDataFilter(operator: VooFilterOperator.greaterThan, value: 100),
},
sorts: [
const VooColumnSort(field: 'price', direction: VooSortDirection.descending),
const VooColumnSort(field: 'name', direction: VooSortDirection.ascending),
],
);
final jsonOutput = const JsonEncoder.withIndent(' ').convert(request);
return Material(
child: Container(
padding: const EdgeInsets.all(16),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text('JSON:API Request:', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16)),
const SizedBox(height: 8),
Container(
padding: const EdgeInsets.all(12),
decoration: BoxDecoration(
color: Colors.grey.withValues(alpha: 0.1),
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.grey.withValues(alpha: 0.3)),
),
child: SelectableText(jsonOutput, style: const TextStyle(fontFamily: 'monospace', fontSize: 12)),
),
],
),
),
);
}