Optional request parameters(オプションの要求パラメータ)--Moyaドキュメント

1395 ワード

Optional request parameters(オプションの要求パラメータ)


api/usersを呼び出したいとしたら?Limit=10もapi/usersを呼び出したい場合:
public enum MyService {
    case users(limit: Int?)
}

extension MyService: TargetType {
//...
    public var parameters: [String: Any]? {
        switch self {
        case .users(let limit):
            var params: [String: Any] = [:]
            params["limit"] = limit
            return params
        default:
            return nil
        }
    }
//...
}

この場合params["limit"=nilはオブジェクトのlimitキーワードを除去します
これは、メソッドが異なる属性で定義ため、任意のタイプの要求に適している.
extension MyService: TargetType {
//...
    public var method: Moya.Method {
        switch self {
        case .emailAuth:
            return .post
        default:
            return .get
        }
    }
//...
}

重要なヒント


上記のようにオプションパラメータを追加する必要があります.押すとオプションのパラメータは削除されません
//...
    // This won't work!
    public var parameters: [String: Any]? {
        switch self {
        case .users(let limit):
            let params: [String: Any] = ["limit": limit]
            return params
        default:
            return nil
        }
    }
//...

この場合、limitがnilの場合、URLリクエストはapi/usersになりますか?limit=nil

このセクションの核心をまとめます。

  • オプションパラメータの実装(値があればパラメータがサーバに渡され、値がなければパラメータが渡されない.自動化の意味がある)
  • .