AFHTTPSessionManager - дубликат веб-службы API называется - PullRequest
0 голосов
/ 16 ноября 2018

мы используем AFHTTPSessionManager для вызова веб-службы API, но проблема в том, что при вызове API он вызывает более 2-3 раз, что является большой проблемой для нашего сервера (например, мы ожидаем отправить 5 запросов на сервер, который является APIрасположение, но мы получаем более 15 или 20 запросов API на сервер), так что это большая проблема, которая создает высокую нагрузку на наш сервер, как мы можем обработать его для вызова один раз, когда мы вызываем API один раз!

Очень важно : мы обнаружили, что приложение не отправляет повторяющиеся запросы, пока оно находится в «режиме разработки», но у приложения Live (сборка в магазине приложений) есть эта проблема, в чем проблема, связанная с «BUILD LIVE»такие разные с 'Developing mode Build'?

Нам нужно проверить оба метода: Get и Post, пожалуйста

мы нашли эту ссылку, еще не тестировали: https://github.com/Foreverland/AFHTTPSessionManager-AFUniqueGET

это код, который, как мы ожидаем, может возникнуть из-за проблемы:

+ (void) onGetLastMeasurement:(const CUIViewController*) mVCPage type: 
(int)type
{
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
NSDictionary *dictParam = @{@"apiKey":API_NOR_APIKEY,
                            @"secretKey":API_NOR_SECRETKEY,
                            @"email":g_strEmail,
                            @"password":g_strPassword}; 
NSString *strURL = [NSString stringWithFormat:@"%@%@", API_URL_BASE, 
API_URL_GETLASTMEASUREMENT];
[manager GET:strURL parameters:dictParam progress:nil 
success:^(NSURLSessionTask *task, id responseObject)
 {
     if ([responseObject objectForKey:@"maintenanceMode"])
     {
         g_strMaintainance = [responseObject objectForKey:@"message"];
         [CGlobal goMaintainance:mVCPage];
         return;
     }

     BOOL bStatus = [[responseObject objectForKey:@"status"] boolValue];
     NSString *message = [responseObject objectForKey:@"message"];

     if(bStatus == true)
     {
         NSString* unitLength = [responseObject objectForKey:@"unitLength"];
         NSString* unitWeight = [responseObject objectForKey:@"unitWeight"];

         for (int i = 0; i < g_arrWUnitValue.count; i++)
         {
             if ([unitWeight isEqualToString:g_arrWUnitValue[i]])
             {
                 g_pUserModel.pBodyMeasurementModel.nWUnit = i;
                 break;
             }
         }
         for (int i = 0; i < g_arrLUnitValue.count; i++)
         {
             if ([unitLength isEqualToString:g_arrLUnitValue[i]])
             {
                 g_pUserModel.pBodyMeasurementModel.nLUnit = i;
                 break;
             }
         }
         NSDictionary *lastMeasurement = [responseObject objectForKey:@"lastMeasurement"];
         g_pUserModel.pBodyMeasurementModel.fWeight = [[lastMeasurement objectForKey:@"weight"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fHeight = [[lastMeasurement objectForKey:@"height"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fChest = [[lastMeasurement objectForKey:@"chest"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fHips = [[lastMeasurement objectForKey:@"hips"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fThigh = [[lastMeasurement objectForKey:@"thigh"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fUpperarm = [[lastMeasurement objectForKey:@"upperArm"] floatValue];
         g_pUserModel.pBodyMeasurementModel.fWaist = [[lastMeasurement objectForKey:@"waist"] floatValue];
         g_pUserModel.pBodyMeasurementModel.strDisplayName = [lastMeasurement objectForKey:@"displayname"];
         g_pUserModel.pBodyMeasurementModel.strCreationDate = [lastMeasurement objectForKey:@"creationDate"];
         g_pUserModel.pBodyMeasurementModel.strModifiedDate = [lastMeasurement objectForKey:@"modifiedDate"];

         if (mVCPage != nil)
             [mVCPage onAPISuccess:type result:message];
     }
     else
     {
         if (mVCPage != nil)
             [mVCPage onAPISuccess:type result:message];

     }


 } failure:^(NSURLSessionTask * _Nullable task, NSError * _Nonnull error)
 {
     if (mVCPage != nil)
         [mVCPage onAPIFail:type result:strURL];
 }];
}

Уже оценен ... Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...