我试图创建和LBUser的用户扩展名保存到与此代码的服务器:
LBRESTAdapter *adapter = ((AppDelegate *)[[UIApplication sharedApplication] delegate]).adapter;
if (adapter) {
TeacherRepository *repo = (TeacherRepository *)[adapter repositoryWithClass:[TeacherRepository class]];
if (repo) {
Teacher *st = (Teacher *)[repo createUserWithEmail:@"test@test.com" password:@"test"];
st.bigarea = @"Mathematics";
NSLog(@"Email: %@", st.email);
NSLog(@"Password: %@", st.password);
if (st) {
[st saveWithSuccess:^{
NSLog(@"Saved in server!");
} failure:^(NSError *error) {
NSLog(@"Error: %@", error);
}];
}
}
}
TeacherRepository是LBUserRepository扩展。 显然,用户的创作是好的,但是当我尝试保存用户我得到这个错误:
Error Domain=AFNetworkingErrorDomain Code=-1011 "Expected status code in (200-299), got 422" UserInfo=0x7f9418f07db0 {NSLocalizedRecoverySuggestion={"error":{"name":"ValidationError","status":422,"message":"The `Teacher` instance is not valid. Details: `password` can't be blank; `email` can't be blank; `email` is blank.","statusCode":422,"details":{"context":"Teacher","codes":{"password":["presence"],"email":["presence","format.blank"]},"messages":{"password":["can't be blank"],"email":["can't be blank","is blank"]}},"stack":"ValidationError: The `Teacher` instance is not valid. Details: `password` can't be blank; `email` can't be blank; `email` is blank.
看来,我的LBUser扩展名为老师是不是有效,电子邮件地址和密码都为空,但根据NSLog的,他们不为空。 这里的Teacher.h:
#import <Foundation/Foundation.h>
#import <LoopBack/LoopBack.h>
@interface Teacher : LBUser
@property (strong,nonatomic) NSString *bigarea;
@end
回到服务器我描述的老师,因为这一个以.json:
{
"name": "Teacher",
"plural": "Teachers",
"base": "User",
"properties": {
"bigarea": {
"type": "string",
"required": true
}
},
"validations": [],
"relations": {
"courses": {
"type": "hasMany",
"model": "Course",
"foreignKey": "courseId"
}
},
"acls": [],
"methods": []
}
另外我有点困惑,如何显示,在目标C的关系,有人可以给我一个灯?