我走了一条不同的路。不使用 Alamofire,只使用标准的 Swift 网络。Postman 允许为特定请求创建多个不同的语言代码块,因此使用它生成的请求。
如果有人想知道如何在没有 Alamofire 的情况下做到这一点,答案如下。
import Foundation
var semaphore = DispatchSemaphore (value: 0)
let parameters = "OFF"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string:"http://192.168.x.x:8080/rest/items/BinarySensor")!,timeoutInterval: Double.infinity)
request.addValue("text/plain", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
return
}
semaphore.signal()
}
task.resume()
semaphore.wait()
我确信有更好的方法,但这种方法有效。