【问题标题】:Swift 5: simple string URLRequestSwift 5:简单的字符串 URLRequest
【发布时间】:2020-10-22 07:22:21
【问题描述】:

我希望你能帮助我。

我目前正在使用原生 swift api 进行 URLSession 和 URLRequest 网络调用。

我已经使用字典实现了json结构的正确发送。

let params: [String: Any] = ["user": "demo"]
var request = URLRequest(url: URL(string: "https://.....")!)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
do {
    request.httpBody = try JSONSerialization.data(withJSONObject: params, options: .prettyPrinted)
  }catch _ {}

如何发送一个简单的字符串?

let params: "demo"
var request = URLRequest(url: URL(string: "https://.....")!)
request.httpMethod = "POST"
request.httpBody = .......?

【问题讨论】:

    标签: ios objective-c swift iphone xcode


    【解决方案1】:

    您只需要将字符串转换为Data,使用data(using:)

    request.httpBody = "a simple string".data(using: .utf8)
    

    【讨论】:

    • 需要添加 -> request.addValue("application/json", forHTTPHeaderField: "Content-Type") ?
    • @esantiago 您的“简单字符串”是否应该被解释为 JSON。如果是这样,请添加。如果没有,您也应该添加它,但使用 text/plain 之类的内容类型,而不是 application/json
    【解决方案2】:

    你可以试试

    request.httpBody = Data("yourString".utf8)
    

    【讨论】:

    • 有必要加吗? -> request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    • 是的,您需要引导您的服务器发送内容,无论是 text 、 html 、 json 还是 media 在您当前的情况下它是 json 解释
    猜你喜欢
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 2019-08-18
    • 2022-01-10
    • 2021-02-13
    • 1970-01-01
    • 2019-11-20
    • 2019-08-16
    相关资源
    最近更新 更多