我新的目標和休息kit.My代碼運行沒有錯誤,但服務器不顯示任何POST請求被made.the URL和方法名稱是否正確,有沒有別的東西,我」失蹤了?RestKit不張貼到服務器
下面是我使用
-(void)construct
{
RKLogConfigureByName("RestKit/Network", RKLogLevelTrace);
URL = @"http://xx.xx.xx.xx:80/CW_war/getMyOffersCount";
}
- (void)run{
//mapping request object
RKObjectMapping* mapping = [RKObjectMapping mappingForClass:[CountResultVO class]];
[mapping mapKeyPath:@"offercount" toAttribute:@"offercount"];
[mapping mapKeyPath:@"insertCount" toAttribute:@"insertCount"];
[mapping mapKeyPath:@"favouriteOfferCount" toAttribute:@"favouriteOfferCount"];
[mapping mapKeyPath:@"favouriteInsertCount" toAttribute:@"favouriteInsertCount"];
//set mapping
[[RKObjectManager sharedManager].mappingProvider addObjectMapping:mapping];forKeyPath:@"articles"];
//serializing post object
RKObjectMapping* outSerializationMapping = [RKObjectMapping mappingForClass:[NSMutableDictionary class]];
[outSerializationMapping mapAttributes:@"userId", @"userId", @"mode", @"mode", nil];
[[RKObjectManager sharedManager].mappingProvider setSerializationMapping:outSerializationMapping forClass:[BasicUserArgVo class]];
//setting post params
RKObjectManager* manager = [RKObjectManager objectManagerWithBaseURL:URL];
manager.acceptMIMEType = RKMIMETypeJSON;
manager.serializationMIMEType = RKMIMETypeJSON;
//setting post object router
[manager.router routeClass:[BasicUserArgVo class]
toResourcePath:@"/getMyOffersCount"
forMethod:RKRequestMethodPOST];
//init post object
BasicUserArgVo *bvo = [[BasicUserArgVo alloc]initWithUserId:5 andMode:nil];
//post object BasicUserArgVo and map to CountResultVO
[manager postObject:bvo mapResponseWith:mapping delegate:self];
}
- (void)objectLoader:(RKObjectLoader*)objectLoader didLoadObject:(NSArray*)objects {
NSLog(@"hello");
CountResultVO* countResultVO = [objects objectAtIndex:0];
NSLog(@"RESULT : %ld %ld",[countResultVO offercount],[countResultVO insertCount]);
}
- (void)objectLoader:(RKObjectLoader *)objectLoader didFailWithError:(NSError *)error {
NSLog([NSString stringWithFormat:@"Error: %@", [error localizedDescription]]);
}
代碼=============================== =================================
編輯:
的對象 -
@interface CountResultVO : NSObject
{
long offercount;
long insertCount;
long favouriteOfferCount;
long favouriteInsertCount;
}
@property(nonatomic,readwrite) long offercount;
@property(nonatomic,readwrite) long insertCount;
@property(nonatomic,readwrite) long favouriteOfferCount;
@property(nonatomic,readwrite) long favouriteInsertCount;
@end
和
@interface BasicUserArgVo : NSObject
{
long userId;
NSString *mode;
}
@property(nonatomic,readwrite) long userId;
@property(nonatomic,retain) NSString * mode;
-(id)initWithUserId:(long)uid andMode:(NSString *)m;
-(id)initWithUserId:(long)uid;
@end
和我打電話給我的應用程序的(無效)run方法viewDidLoad中
- (void)viewDidLoad
{
RestKitUtil *restKitUtil = [[RestKitUtil alloc]init];
[restKitUtil run];
[super viewDidLoad];
}
而且,你可以使用NSString而不是長型 - 我不知道你能否映射很久!?之後如果你想要一個字符串的長整型值:例如[countResultVO.offercount longLongValue]。如果他不能處理長類型,它將無法識別序列化對象。你有RestKit痕跡/日誌嗎?你是否認爲你的構造方法被稱爲? – Beber 2012-02-24 09:49:18
沒有太多的日誌,只是 [806:fb03]我restkit:RKLog.m:30 RestKit初始化... 我調用構造,然後運行。 – ir2pid 2012-02-24 10:37:18
我看到你阻止了你的URL,沒關係,但你真的要去80端口嗎?你的意思是8080嗎? – 2012-02-24 11:17:30