AFNetworking 2.0:POST返回成功响应,但服务器未更新

时间:2015-01-31 10:55:41

标签: ios objective-c afnetworking afnetworking-2

我使用AFNetworking将Book对象添加到服务器。这是设置:

为测试创建了一些虚拟Book对象:

Book *newBook1 = [[Book alloc] init];
newBook1.title = @"Test Book 1";
newBook1.author = @"Harlan";

Book *newBook2 = [[Book alloc] init];
newBook2.title = @"Test Book 2";
newBook2.author = @"Harlan";

NSArray *books = [NSArray arrayWithObjects:newBook1, newBook2, nil];

[bookCommunicator addBooks:books];

内部BookCommunicator

- (void)addBooks:(NSArray *)books
{
   for(Book *book in books)
   {
       [self addBook:book];
   }
}

- (void)addBook:(Book *)book
{
    NSDictionary *bookProperties = [NSDictionary dictionaryWithObjectsAndKeys:
                                book.author, @"author",
                                book.title, @"title",
                                nil];

    [_httpSessionManager POST:@"books" parameters:bookProperties
                  success:^(NSURLSessionDataTask *task, id responseObject) {
                      [self.delegate didAddBooks];
                  }
                  failure:^(NSURLSessionDataTask *task, NSError *error) {
                      [self.delegate addingBooksFailedWithError:error];
                  }
     ];
}

我得到了成功的回复。 responseObject是服务器上已有的所有Book个对象的数组 - 不包括新对象。在检查服务器时,这两个新书对象不存在。关于为什么的任何想法?

1 个答案:

答案 0 :(得分:0)

问题不在于上面的代码,而在于API。它需要在端点上跟踪/(即' books /') - 但它应该已经接受了两本书'或者'书籍/'。