是否可以在Chopper上添加多个baseUrl?
service.dart
@ChopperApi(baseUrl: 'http://55.88.209.20')
abstract class Services extends ChopperService {
static Services create([ChopperClient client]) => _$Services(client);
// Register User
@Post(path: /reg-user')
Future<Response> registerPost();
chopper_client
class OrelGoClient {
final ChopperClient chopperClient;
OrelGoClient()
: chopperClient = ChopperClient(
services: [Services.create()],
baseUrl: 'http://55.88.209.20',
interceptors: [HttpLoggingInterceptor()],
converter:JsonConverter() ){
Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((rec) {
print('${rec.level.name}: ${rec.time}: ${rec.message}');
});
}
}
答案 0 :(得分:0)
Chopper FAQ的食谱
例如,如果对于“常规”或“付费”用户,您必须在应用程序中动态使用其他服务器或路由,则可能需要更改网络调用的基本URL。您可以将当前服务器的基本URL存储在您的SharedPreferences中(如果需要,可以对其进行加密/解密),并在这样的拦截器中使用它:
(Request request) async =>
SharedPreferences.containsKey('baseUrl')
? request.copyWith(
baseUrl: SharedPreferences.getString('baseUrl'))
: request