我正在开发一个使用Django作为后端的iPhone应用程序。在Django REST框架中开发的Web服务发布结果,Django开发人员使用postman扩展来测试数据是否真的被发布了
例如,一个web服务如下
class EventCommentPost(generics.ListCreateAPIView):
"""Post a comment to particular Event"""
# permission_classes = (permissions.IsAuthenticated,)
model = Event_Comment
serializer_class = EventCommentSerializer
def post(self,request,*args,**kwargs):
user_name = request.POST['user_name']
comment = request.POST['comment']
event_id = request.POST['event_id']
UserData = User.objects.get(id = user_name)
EventData = Event.objects.get(id = event_id)
Comment = Event_Comment(user_name = UserData,comment =comment,event_id=EventData)
Comment.save()
event_comment_id = Event_Comment.objects.get(user_name = UserData,comment =comment,event_id=EventData)
notification_data = Notification(user_id = EventData.Event_Creator,activity_type = 'Comment',source_id=event_comment_id.id)
notification_data.save()
serializer = EventCommentSerializer(event_comment_id)
list = []
list.append(serializer.data)
return Response(list)
现在我在我的应用程序中使用该Web服务,如下所示
-(void)getDataWithBlokc:(OnComplate)block :(NSString*)strUrl data:(NSDictionary*)dictData
{
NSLog(@"POST DATA:=====%@",dictData);
NSString *hostURL=[NSString stringWithFormat:@"%@%@",HOST_NAME,strUrl];
NSURL *url=[[NSURL alloc] initWithString:hostURL];
NSData *jsonData;
NSString *jsonString;
if ([NSJSONSerialization isValidJSONObject:dictData])
{
jsonData=[NSJSONSerialization dataWithJSONObject:dictData options:0 error:nil];
jsonString=[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:jsonData];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[jsonData length]] forHTTPHeaderField:@"Content-Length"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
{
NSDictionary *dict=[NSDictionary dictionary];
NSInteger httpStatus = [((NSHTTPURLResponse *)response) statusCode];
NSLog(@"httpStatus inside block:%ld",(long)httpStatus);
if ([data length]>0 && connectionError==nil)
{
dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments error:&connectionError];
block(dict);
}
else if (connectionError)
{
block(dict);
}
}];
}
但这行我得到500个状态码,因为数据格式不匹配
dict=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments error:&connectionError];
目前没有回答
相关问题 更多 >
编程相关推荐