簡體   English   中英

Moya - 如何啟用樣本數據?

[英]Moya - How enable sample data?

我開始為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)

要在Moya中禁用或啟用示例數據,我們應該使用必需狀態初始化提供程序。

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中嘗試使用此代碼進行sampleData

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

        default:
            return Data()
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM