moyaライブラリー を使用してPOSTリクエストを作成します。TargetTypeで、パラメーターを渡すためのプロパティを確認できませんでした[JSON本文] POST request。ここでは、TargetTypeをアタッチします
public protocol TargetType {
/// The target's base `URL`.
var baseURL: URL { get }
/// The path to be appended to `baseURL` to form the full `URL`.
var path: String { get }
/// The HTTP method used in the request.
var method: Moya.Method { get }
/// Provides stub data for use in testing.
var sampleData: Data { get }
/// The type of HTTP task to be performed.
var task: Task { get }
/// Whether or not to perform Alamofire validation. Defaults to `false`.
var validate: Bool { get }
/// The headers to be used in the request.
var headers: [String: String]? { get }
}
public extension TargetType {
var validate: Bool {
return false
}
}
最後に、私は私の問題の解決策を得ました。 Moya 10.0では、httpプロパティのJSONペイロードをタスクプロパティ[TargetType]で渡すことができます。
クリック ここ 参照用
var task: Task {
switch self {
case .zen, .showUser, .showAccounts: // Send no parameters
return .requestPlain
case let .updateUser(_, firstName, lastName): // Always sends parameters in URL, regardless of which HTTP method is used
return .requestParameters(parameters: ["first_name": firstName, "last_name": lastName], encoding: URLEncoding.queryString)
case let .createUser(firstName, lastName): // Always send parameters as JSON in request body
return .requestParameters(parameters: ["first_name": firstName, "last_name": lastName], encoding: JSONEncoding.default)
}
}