2016-09-16 2 views
0

ASP.NET 웹 API 응용 프로그램은 복잡한보기 모델 데이터를 사용하는 userDetails를 간략히 나열하는 게시 방법을 정의합니다.객관적인 C에서 asp.net 웹 API 메서드에서 POST 메서드를 사용하는 방법?

.H

#define URL "http://101.127.236.85:6067/tmsservice/MobileService.svc/AddTimeSheet" 

하는 .m

- (void)viewDidLoad 

{ 

[super viewDidLoad]; 

    [self sendRequestWithPostType]; 
} 


- (void) sendRequestWithPostType 
{ 
    NSString *temp=[NSString stringWithFormat:@URL]; 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:temp]]; 


    [request addValue:@"application/json; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 

    [request addValue:@"iOS" forHTTPHeaderField:@"DeviceType"]; 

    [request addValue:@"123456" forHTTPHeaderField:@"DeviceID"]; 

    [request addValue:@"05e2954e-9ba6-4ab3-84af-5793b55bc69f" forHTTPHeaderField:@"Authorization"]; 

    [request setHTTPMethod:@"POST"]; 



    [request addValue:@"0"forHTTPHeaderField:@"TimeSheetID"]; 

    [request addValue:@"16/9/2016" forHTTPHeaderField:@"EntryDateString"];// Selected Entry Date 

    [request addValue:@"4" forHTTPHeaderField:@"EmployeeID"]; 

    [request addValue:@"Ram Kadam" forHTTPHeaderField:@"EmployeeName"]; 

    [request addValue:@"70"forHTTPHeaderField:@"ProjectID"]; 

    [request addValue:@"Azure Discovery" forHTTPHeaderField:@"ProjectCode"]; 

    [request addValue:@"Azure Discovery" forHTTPHeaderField:@"ProjectName"]; 

    [request addValue:@"3"forHTTPHeaderField:@"ActivityID"]; 

    [request addValue:@"Prototype" forHTTPHeaderField:@"ActivityName"]; 

    [request addValue:@"8.5" forHTTPHeaderField:@"Hours"]; 

    [request addValue:@"Under UAT Testing" forHTTPHeaderField:@"WorkDone"]; 

    [request addValue:@"2"forHTTPHeaderField:@"Status"]; 


    [request setHTTPMethod:@"POST"]; 

    NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

    NSLog(@"conn:= %@",conn); 

} 


- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse *)response 

{ 

    responseData = [[NSMutableData alloc]init]; 

} 


- (void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error 

{ 

    NSLog(@"Did Fail"); 

} 


- (void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data 


{ 

    [responseData appendData:data]; 
} 

- (void)connectionDidFinishLoading:(NSURLConnection *)connection 

{ 

    NSLog(@"Did Finish"); 

    jsonObject=[NSJSONSerialization 
       JSONObjectWithData:responseData 
       options:NSJSONReadingMutableLeaves 
       error:nil]; 

    NSLog(@"jsonObject is %@",jsonObject); 

} 

응답 : -

URL : http://101.127.236.85:6067/tmsservice/MobileService.svc/AddTimeSheet

마침

나요

된 JSONObject는 (널)

이 코드에서 내가 어디 잘못되었는지 말해주십시오.

+0

NSURL 연결을 사용하지 않는 질문 –

+0

@Shriram Kadam를 다시 포맷하십시오, 그것은 감가 상각, 사용 Nsurlsession – ChenSmile

+0

안녕하세요 이므 란, 어떻게 Nsurlsession을 사용할 수 있습니다 ? 내 코드에 대해 말해 주거나 다시 입력 할 수 있습니까? –

답변

0

사용 NSURLSession이 POST로, 여기에 예입니다

NSURL *url = [NSURL URLWithString:@"http://101.127.236.85:6067/tmsservice/MobileService.svc/AddTimeSheet"]; 
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; 
// your header key-values 
config.HTTPAdditionalHeaders = @{@"key1": @"value1"}; 
NSURLSession *session = [NSURLSession sessionWithConfiguration:config]; 

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 
request.HTTPMethod = @"POST"; 

// your body key-values 
NSDictionary *dictionary = @{@"key1": @"value1"}; 
NSError *error = nil; 
NSData *data = [NSJSONSerialization dataWithJSONObject:dictionary 
               options:kNilOptions error:&error]; 
if (!error) { 
    NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:request 
                   fromData:data completionHandler:^(NSData *data,NSURLResponse *response,NSError *error) { 
                    // Handle response here 
                   }]; 
    [uploadTask resume]; 
} 
관련 문제