Moya - 如何启用示例数据?
Moya - How enable sample data?
我开始学习 Moya 的 Netwroking
在实施过程中需要 TargetType
有没有办法不为每个端点提供样本数据
而且,我找不到如何 enable/disable 样本数据的方法。
var sampleData: Data {
switch self {
case .zen:
return "Half measures are as bad as nothing at all.".utf8Encoded
case .showUser(let id):
return "{\"id\": \(id), \"first_name\": \"Harry\", \"last_name\": \"Potter\"}".utf8Encoded
case .createUser(let firstName, let lastName):
return "{\"id\": 100, \"first_name\": \"\(firstName)\", \"last_name\": \"\(lastName)\"}".utf8Encoded
case .updateUser(let id, let firstName, let lastName):
return "{\"id\": \(id), \"first_name\": \"\(firstName)\", \"last_name\": \"\(lastName)\"}".utf8Encoded
case .showAccounts:
// Provided you have a file named accounts.json in your bundle.
guard let url = Bundle.main.url(forResource: "accounts", withExtension: "json"),
let data = try? Data(contentsOf: url) else {
return Data()
}
return data
}
}
我该怎么做?
回答
static let provider = MoyaProvider<VMAPI>.init(stubClosure: MoyaProvider<VMAPI>.immediatelyStub)
如果你想忽略简单数据
var sampleData: Data {
return "There is No smaple Data".data(using: String.Encoding.utf8)!
}
或者,如果您想使用简单的数据,就按照您在问题中所做的那样去做
要在 Moya 中禁用或启用示例数据,我们应该使用所需状态初始化提供程序。
static let provider = MoyaProvider<VMAPI>.init(stubClosure: MoyaProvider<VMAPI>.immediatelyStub)
为 moya 中的 sampleData 尝试此代码
var sampleData: Data {
switch self {
case .login(_,_):
return "Half measures are as bad as nothing at all.".utf8Encoded
default:
return Data()
}
}
我开始学习 Moya 的 Netwroking
在实施过程中需要 TargetType
有没有办法不为每个端点提供样本数据
而且,我找不到如何 enable/disable 样本数据的方法。
var sampleData: Data {
switch self {
case .zen:
return "Half measures are as bad as nothing at all.".utf8Encoded
case .showUser(let id):
return "{\"id\": \(id), \"first_name\": \"Harry\", \"last_name\": \"Potter\"}".utf8Encoded
case .createUser(let firstName, let lastName):
return "{\"id\": 100, \"first_name\": \"\(firstName)\", \"last_name\": \"\(lastName)\"}".utf8Encoded
case .updateUser(let id, let firstName, let lastName):
return "{\"id\": \(id), \"first_name\": \"\(firstName)\", \"last_name\": \"\(lastName)\"}".utf8Encoded
case .showAccounts:
// Provided you have a file named accounts.json in your bundle.
guard let url = Bundle.main.url(forResource: "accounts", withExtension: "json"),
let data = try? Data(contentsOf: url) else {
return Data()
}
return data
}
}
我该怎么做?
回答
static let provider = MoyaProvider<VMAPI>.init(stubClosure: MoyaProvider<VMAPI>.immediatelyStub)
如果你想忽略简单数据
var sampleData: Data {
return "There is No smaple Data".data(using: String.Encoding.utf8)!
}
或者,如果您想使用简单的数据,就按照您在问题中所做的那样去做
要在 Moya 中禁用或启用示例数据,我们应该使用所需状态初始化提供程序。
static let provider = MoyaProvider<VMAPI>.init(stubClosure: MoyaProvider<VMAPI>.immediatelyStub)
为 moya 中的 sampleData 尝试此代码
var sampleData: Data {
switch self {
case .login(_,_):
return "Half measures are as bad as nothing at all.".utf8Encoded
default:
return Data()
}
}