首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在moya中传递带有POST请求的JSON body

如何在moya中传递带有POST请求的JSON body
EN

Stack Overflow用户
提问于 2018-01-22 00:10:17
回答 1查看 12.4K关注 0票数 8

我正在使用moya library发出POST请求。在TargetType中,我看不到任何与POST请求一起传递parametersJSON主体的属性。在这里,我附加了TargetType

代码语言:javascript
运行
复制
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
    }
}
EN

回答 1

Stack Overflow用户

发布于 2018-01-22 18:18:25

最后,我得到了我的问题的解决方案。在Moya10.0中,我们可以在任务属性TargetType中传递http body JSON有效负载。

点击here查看参考

代码语言:javascript
运行
复制
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)
    }
}
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48368833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档