6

我开始 为 Netwroking学习Moya

实施过程中需要TargetType

有没有办法不为每个端点提供样本数据

而且,我找不到如何启用/禁用示例数据的方法。

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)
4

3 回答 3

6

为了在 Moya 中禁用或启用示例数据,我们应该使用所需状态初始化提供程序。

static let provider = MoyaProvider<VMAPI>.init(stubClosure: MoyaProvider<VMAPI>.immediatelyStub)
于 2018-06-14T08:50:13.253 回答
0

试试这个代码在 moya 中的 sampleData

var sampleData: Data {
        switch self {
        case .login(_,_):
            return "Half measures are as bad as nothing at all.".utf8Encoded

        default:
            return Data()
        }
    }
于 2018-07-16T11:05:42.557 回答
-1

如果你想忽略简单数据

  var sampleData: Data {
           return "There is No smaple Data".data(using: String.Encoding.utf8)!
    }

或者如果你想使用简单的数据,就像你在你的问题中做的那样

于 2018-06-06T10:56:45.397 回答