Как вызвать почтовый веб-сервис с UrlSession.DataTaskPublisher? - PullRequest
1 голос
/ 11 февраля 2020

У меня есть простой вопрос, который я вижу только dataTaskPublisher в документации , с помощью которого я смог вызвать веб-службу get, но как я могу вызвать почтовую веб-службу, которая может вернуть издателя?

Ответы [ 2 ]

1 голос
/ 11 февраля 2020

вы можете определить запрос и назвать его в вашем 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)
1 голос
/ 11 февраля 2020

Используйте конструктор с 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
...