Recently I have added two languages to localise the app, when I changed the app to new language to test. I can successfully see the all text changes, few rest API's are not working to new language. I have crosscheck with backend team. they have not done any changes and it is working to old languages
here you can find my sample code
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
[manager.requestSerializer setValue:KEY forHTTPHeaderField:@"X-Api-Key"];
[manager.requestSerializer setValue:SECRET forHTTPHeaderField:@"X-Api-Secret"];
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[manager.requestSerializer setValue:@"nl" forHTTPHeaderField:@"X-Lang"];
[manager.requestSerializer setTimeoutInterval:TIMEOUT_TIME];
NSDictionary *parameters = @{@"email": email,
@"password": password,
@"useragent": @"mobile"};
[manager PUT:@"http://urlstring" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
// handling response
}
can help anyone? do I need to change anything
I have made two modifications one is related to accept-language
in request heads, which I kept default language en
with respect of any localization language. another one is acceptableContentTypes
.
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
[manager.requestSerializer setValue:@"en" forHTTPHeaderField:@"Accept-Language"];
Now it is working as expected, for localised languages we are using X-Lang
header.