在IOS上使用URL将JSON发布到API
我设计了一个警报,根据该警报,我需要在api上发布用户设置为警报的内容,稍后api将处理该过程,如果警报时间到了,则不会通知我。因此,基本上,我整天都在搜索,并带来了: 在这里,我付出了巨大的努力!请帮我进一步了解在IOS上使用URL将JSON发布到API,ios,json,post,alarm,Ios,Json,Post,Alarm,我设计了一个警报,根据该警报,我需要在api上发布用户设置为警报的内容,稍后api将处理该过程,如果警报时间到了,则不会通知我。因此,基本上,我整天都在搜索,并带来了: 在这里,我付出了巨大的努力!请帮我进一步了解 NSMutableDictionary *alarmDic = [[NSMutableDictionary alloc] initWithCapacity:4]; NSLog(@"token: %@", self.token); [alarmDic setObjec
NSMutableDictionary *alarmDic = [[NSMutableDictionary alloc] initWithCapacity:4];
NSLog(@"token: %@", self.token);
[alarmDic setObject:[NSNumber numberWithInteger:42] forKey:@"Token"];
NSLog(@"kur id: %lu", alarm.kurID);
[alarmDic setObject:[NSNumber numberWithInteger:alarm.kurID] forKey:@"CurrencyId"];
NSLog(@"not val: %f", alarm.kurAlis);
[alarmDic setObject:[NSNumber numberWithFloat:alarm.kurAlis] forKey:@"NotificationValue"];
NSLog(@"%ld", (long)alarm.kurTur);
[alarmDic setObject:[NSNumber numberWithInteger:alarm.kurTur] forKey:@"Type"];
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:alarmDic
options:NSJSONWritingPrettyPrinted
error:nil];
NSLog(@"%@", [[NSString alloc] initWithData:jsonData
encoding:NSUTF8StringEncoding]);
NSString *dataLength = [NSString stringWithFormat:@"%lu", (unsigned long)[jsonData length]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:@"http://api-dvzalt.azurewebsites.net/api/Notification/PostNotification"]];
[request setHTTPMethod:@"POST"];
[request setValue:dataLength forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody:jsonData];
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(conn) {
NSLog(@"Connection Successful");
} else {
NSLog(@"Connection could not be made");
}
在日志窗口中
requestReply: Connection Successful
然而,api上没有发生任何事情,一如既往地告诉我们这一点
The requested resource does not support http method 'GET'.
这是我的困惑。它说连接成功,但在API上,仍然是一样的。在这种情况下我该怎么办?我可能会跳过一些东西,但我不知道我跳过了什么。我想我已经完成了所有的步骤
注意:API工作得很好,很可能是关于我的代码
谢谢 所以我很好奇,您的web处理程序中是否没有JSON数据的字段名?像“jsonData”之类的?现在,您正在将JSON数据填充到身体中,但是没有识别字段名供处理程序提取 我的想法是:
NSString jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSString requestString = [NSString stringWithFormat:@"jsonData=%@", jsonString];
然后对requestString进行编码,并在您的身体中使用它。所以我只做了一件事。我应该把请求字符串放在哪里?HTTPBody,你是说body?它需要一个数据。。