JSONAPIとの通信にAFNetworkingを使用しています。ドイツのウムラウト(すなわちäöüß)でリクエストを送信することを除いて、すべてがうまくいきます。
共有インスタンスを使用しています
+(LFMessaging*)shared
{
static LFMessaging *sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
データを送信するには、このメソッドでAFHTTPClientのサブクラスを使用します。
[parameters setValue:cmd forKey:@"cmd"];
NSMutableURLRequest *apiRequest =
[self multipartFormRequestWithMethod:@"POST"
path:[NSString stringWithFormat:@"http://%@%@", _domain, _target]
parameters:(NSDictionary*)parameters
constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) {
//TODO: attach file if needed
}];
AFJSONRequestOperation* operation = [[AFJSONRequestOperation alloc] initWithRequest: apiRequest];
operation.JSONReadingOptions = NSJSONReadingMutableContainers;
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
...
ドイツ語のウムラウトを含むパラメーターが渡されたとき、APIが壊れているように見えます。サーバーは正しい文字列を受信しません。
サーバーがjsonの結果でウムラウトを送信する場合、すべてが正常です。