【发布时间】:2020-02-11 16:15:45
【问题描述】:
我有一个简单的问题,我只能在 documentation 中看到 dataTaskPublisher,我可以使用它调用获取 Web 服务,但是如何调用可以返回发布者的发布 Web 服务?
【问题讨论】:
我有一个简单的问题,我只能在 documentation 中看到 dataTaskPublisher,我可以使用它调用获取 Web 服务,但是如何调用可以返回发布者的发布 Web 服务?
【问题讨论】:
您可以定义一个请求并在您的dataTaskPublisher 中调用它,如下所示:
var request = URLRequest(url: URL(string: "url")!)
let session = URLSession.shared
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.HTTPBody = try! JSONSerialization.dataWithJSONObject(parameters, options: [])
session.dataTaskPublisher(for: request)
【讨论】:
使用带有URLRequest 的构造函数并使用您需要的任何HTTP 方法准备请求。
/// Returns a publisher that wraps a URL session data task for a given URL request. /// /// The publisher publishes data when the task completes, or terminates if the task fails with an error. /// - Parameter request: The URL request for which to create a data task. /// - Returns: A publisher that wraps a data task for the URL request. public func dataTaskPublisher(for request: URLRequest) -> URLSession.DataTaskPublisher
【讨论】: