注解必须是 const 变量引用或 const 构造函数调用

sur*_*996 4 dart retrofit flutter dio

我有一个错误;注释必须是 const 变量引用或 const 构造函数调用。dart(invalid_annotation) 名称“Headers”在库“package:dio/src/headers.dart(通过 package:dio/dio.dart)”和“中定义”包:retrofit/http.dart'。尝试对其中一个导入指令使用“作为前缀”,或者对除其中一个导入指令之外的所有导入指令隐藏名称。

我想传递一个 jwt 令牌。但我无法通过标头传递它,因为我收到错误

// import 'dart:convert';
// import 'dart:io';
// import 'package:amc_new/model/client_amc.dart';
// import 'package:http/http.dart' as http;
// import 'package:flutter_config/flutter_config.dart';

// String uri = FlutterConfig.get('API_URL');

// class ClientAmcService {
//   // ignore: missing_return
//   Future<ClientAmc> getclientAmc(String amcNo) async {
//     try {
//       var response = await http.get(
//         uri + '/report/getamcreport/$amcNo',
//         headers: {
//           HttpHeaders.authorizationHeader: 'jwt',
//         },
//       );
//       print("------------------------------------------------");
//       if (response.statusCode == 200) {
//         print(response.body);
//         print(response.statusCode);
//         print("------------------------------------------------");
//         List<ClientAmc> clientAmcFromJson(String str) => List<ClientAmc>.from(
//             json.decode(str).map((x) => ClientAmc.fromJson(x)));
//         List<ClientAmc> clientamclist = clientAmcFromJson(response.body);
//         return clientamclist[0];
//       } else {
//         print("Not Found");
//       }
//     } catch (e) {
//       print(e.toString());
//     }
//   }
// }

import 'package:amc_new/model/client_amc.dart';
import 'package:dio/dio.dart';
import 'package:retrofit/http.dart';

part 'amc_client_service.g.dart';

@RestApi()
abstract class ClientAmcService {
  factory ClientAmcService(Dio dio, {String baseUrl}) = _ClientAmcService;

  @GET('/report/getamcreport/{amcNo}')
  @Headers(<String, dynamic>{
    'Content-Type': 'application/json',
    'Accept': 'application/json',
    'Authorization': 'Bearer {jwt}',
  })
  Future<ClientAmc> getclientAmc(@Path('amcNo') String amcNo);
}
Run Code Online (Sandbox Code Playgroud)