我创建了一个后端API项目,并且在没有传递任何参数的情况下成功调用了我的应用程序中端点公开的API。
GTLQueryNewerAPI *query = [GTLQueryNewerAPI queryForMymodelList];
此方法设计有可选参数。如生成Google API发现服务中所示:
// Method: newerAPI.mymodel.list
// Optional:
// pupil: NSString
// Authorization scope(s):
// kGTLAuthScopeNewerAPIUserinfoEmail
// Fetches a GTLNewerAPIMyModelCollection.
+ (instancetype)queryForMymodelList;
我想在调用API时传递一个pupil参数,但我很难这样做。
NSString *pupil = @"Test Name";
GTLServiceNewerAPI *service = [self helloworldService];
GTLQueryNewerAPI *query = [GTLQueryNewerAPI queryForMymodelList:(NSString*)pupil];
没有已知的选择器类的方法`queryForMymodelList:'
答案 0 :(得分:0)
因为pupil
是一个可选参数,它不会为它生成构造函数 - 将它放在构造函数中会使创建GTLQueryNewerAPI
的实例成为必需参数。
您需要做的就是:
NSString *pupil = @"Test Name";
GTLServiceNewerAPI *service = [self helloworldService];
GTLQueryNewerAPI *query = [GTLQueryNewerAPI queryForMymodelList];
query.pupil = pupil;
您应该看到pupil
的头文件中声明的GTLQueryNewerAPI
属性(通常类似于以下内容:
@interface GTLQueryNewerAPI : GTLQuery
//
// Parameters valid on all methods.
//
// Selector specifying which fields to include in a partial response.
@property (nonatomic, copy) NSString *fields;
//
// Method-specific parameters; see the comments below for more information.
//
@property (nonatomic, copy) NSString *pupil;
...
@end
如果声明了pupil
属性,则应在需要时设置它。