2016-07-27 7 views
0

다양한 stackoverflow 질문을 통해 검색했고 이상 호출 할 수있는 - (void)addValue:(NSString *)value forHTTPHeaderField:(NSString *)field; 메서드가 있으므로 NSMutableURLRequest을 사용하여 답변을 얻었습니다. _sessionManager.requestSerializer을 사용하여 값을 추가하거나 주변에서 어떤 방법으로 값을 추가합니까? 다음은 세션 구성을 위해 사용하고있는 코드입니다.어떻게 sessionManager (AFNetworking)를 사용하여 여러 개의 HTTP 헤더를 설정합니까

- (void)configureSesionManager { 
_sessionManager = [AFHTTPSessionManager manager]; 
_sessionManager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

_sessionManager.requestSerializer = [AFJSONRequestSerializer serializer]; 
_sessionManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"application/json"]; 
_sessionManager.requestSerializer.timeoutInterval = 360; 
if ([GSCommonUtil isUserLoggedIn]) { 
    authenticationHeader = [NSString stringWithFormat:@"Bearer %@",[GSCommonUtil retriveValueFromUserDefaults:kNSUserAuthenticationToken]]; 
    [_sessionManager.requestSerializer setValue:authenticationHeader forHTTPHeaderField:@"Authorization"]; 
} 
    [_sessionManager.requestSerializer setValue:@"text/plain" forHTTPHeaderField:@"Content-Type"]; 
    [_sessionManager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
// I have to add one more HTTPHeader for @"Accept". How could I achieve it. 
    NSLog(@"Done with Session Manager Configuration!"); 
} 

답변

3

Accept 헤더는 comma separated list 소요되므로이 같은 작업을해야합니다 :

[_sessionManager.requestSerializer setValue:@"application/json, application/xml" forHTTPHeaderField:@"Accept"];

분명히 당신이 필요로하는 무엇 이건 application/xml를 교체합니다.