How to set Content-Type except application / json

I'm trying to send a REST API to my AFNetworking2.0 server, our server accepts Content-Typehow application/vnd.mycom.mycom-csc+json, when I send a request, this is really a json format,

    self.operationMgr = [AFHTTPRequestOperationManager manager];
    self.operationMgr.securityPolicy.allowInvalidCertificates = YES;
    operationMgr.responseSerializer = [AFJSONResponseSerializer serializer];
    operationMgr.requestSerializer = [AFJSONRequestSerializer serializer];
    self.operationMgr.responseSerializer.acceptableContentTypes = [NSSet       setWithObject:@"application/vnd.mycom.mycom-csc+json"];
    [self.operationMgr.requestSerializer setValue:@"application/vnd.mycom.mycom-csc+json" forHTTPHeaderField:@"Accept"];
    [self.operationMgr.requestSerializer setValue:@"application/vnd.mycom.mycom-csc+json" forHTTPHeaderField:@"Content-Type"];

    [self.operationMgr POST:@"https://ip/rest" parameters:body
     success:^(AFHTTPRequestOperation *operation, id responseObject) {
     }
     failure:^(AFHTTPRequestOperation* task, NSError* error){
         NSLog(@"Error: %@", error);
     }];

but it does not work, Content-Typealways changes to application/jsonin my request, who can help solve this problem? many thanks.

+4
source share
1 answer

Update: As in AFNetworking 2.2.3, all you have to do is:

[requestSerializer setValue:@"application/vnd.mycom.mycom-csc+json" forHTTPHeaderField:@"Content-Type"];

Read more on this Github question .


AFNetworking 2 " " " ". , .

:

  • AFJSONRequestSerializer.
  • , URL-, :

    - (NSURLRequest *)requestBySerializingRequest:(NSURLRequest *)request
                                   withParameters:(id)parameters
                                            error:(NSError *__autoreleasing *)error {
        NSMutableURLRequest *mutableRequest = [[super requestBySer…etc.] mutableCopy];
        [mutableRequest setValue:@"application/vnd.mycom.mycom-csc+json" forHTTPHeaderField:@"Content-Type"];
        return mutableRequest;
    }
    
  • :

    operationMgr.requestSerializer = [MyAwesomeJSONRequestSerializer serializer];
    

, , , ( ). Github, . , , , , .

+3

Source: https://habr.com/ru/post/1529791/


All Articles