import 'package:chopper/chopper.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
part 'api_service.chopper.dart';
abstract class ApiService extends ChopperService {
static ApiService create() {
final client = ChopperClient(
client: MockClient((request) async {
Map result = mockData[request.url.path]?.firstWhere((mockQueryParams) {
if (mockQueryParams['id'] == request.url.queryParameters['id']) return true;
json.encode({'error': "not found"}), 404);
return http.Response(json.encode(result), 200);
baseUrl: 'https://mysite.com/api',
converter: JsonConverter(),
errorConverter: JsonConverter(),
return _$ApiService(client);
Future<Response> get(@Query() String url);