Moya中的参数编码

问题描述 投票:0回答:1

我的项目在Objective-C中,我正在将其转换为Swift。 Objective-C项目使用AFNetworking进行联网。在新的Swift项目中,我正在使用Moya

我创建了名为PhTrackerAPI的Moya目标,>

public enum PhTrackerAPI {
    case login
    case checkNumberExist(phoneno: String, code: String)
    case todos
}

extension PhTrackerAPI: TargetType {
  public var baseURL: URL {
    return URL(string: "http://numberfinding.com/vaghani/call2loc/Api_c2l")!
  }

  public var path: String {
    switch self {
    case .login: return "/login"
    case .checkNumberExist: return "/check_number_exist"
    case .todos: return "/todos"
    }
  }

  public var method: Moya.Method {
    switch self {
    case .login, .checkNumberExist:
        return .post
    case .todos:
        return .get
    }
  }

  public var sampleData: Data {
    return Data()
  }

    var parameters: [String: Any]? {
        switch self {
        case .login:
            return [:]

        case .checkNumberExist(let phoneno, let code):
            return ["phone":phoneno,
                    "country_code":code]

        case .todos:
            return nil

        }
    }

  public var task: Task {
    switch self {
    case .login, .checkNumberExist:
        return .requestParameters(parameters: parameters!, encoding: JSONEncoding.default)
    default: return .requestPlain
    }
  }

  public var headers: [String: String]? {
    return ["Content-Type": "application/json"]
  }

  // 7
  public var validationType: ValidationType {
    return .successCodes
  }
}

[当我向Postman请求API时,它会给出响应,但是如果我通过Moya调用它,则会出现“找不到参数”错误。为什么会发生此错误?有人可以帮助我吗?

编辑:

This is screenshot of Postman

我的项目在Objective-C中,我正在将其转换为Swift。 Objective-C项目使用AFNetworking进行联网。在新的Swift项目中,我正在使用Moya。我创建了名为PhTrackerAPI的Moya目标,...

ios swift afnetworking form-data moya
1个回答
0
投票

我的API想要表单数据中的参数。所以我更新了以下任务,现在可以正常使用。

© www.soinside.com 2019 - 2024. All rights reserved.