[英]Annotation must be either a const variable reference or const constructor invocation
i had a error;我有一个错误; Annotation must be either a const variable reference or const constructor invocation.dart(invalid_annotation) The name 'Headers' is defined in the libraries 'package:dio/src/headers.dart (via package:dio/dio.dart)' and 'package:retrofit/http.dart'.
注释必须是 const 变量引用或 const 构造函数 invocation.dart(invalid_annotation) 名称“Headers”在库“package:dio/src/headers.dart”中定义(通过 package:dio/dio.dart)包:改造/http.dart'。 Try using 'as prefix' for one of the import directives, or hiding the name from all but one of the imports.
尝试对其中一个导入指令使用“作为前缀”,或者对除一个导入之外的所有指令隐藏名称。
I want to pass a jwt token.我想传递一个 jwt 令牌。 But i cant pass it through Headers because i get errors
但我不能通过标头传递它,因为我收到错误
// 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);
}
I solved 'hide'.我解决了“隐藏”。 https://dart.dev/guides/language/extension-methods#api-conflicts
https://dart.dev/guides/language/extension-methods#api-conflicts
import 'package:dio/dio.dart' hide Headers;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.