在GET请求中传递JSON对象:iOS

时间:2019-04-26 10:35:10

标签: ios swift api url

我想在JSON的GET请求中添加URL对象。请参考下面的URL。

https://testdata.com/xyz/&form={"id":"12", "data": "3"}

我在将nil转换为String时得到URL

let serviceUrl = URL(string: url) 

谢谢。

我已经尝试过以下解决方案,但不幸的是没有运气。

  • JSONSerialization.data
  • 使用utf8转换为字符串
  • 删除空格(如果有的话)
  • 在允许URL主机的情况下添加percentEncoding

2 个答案:

答案 0 :(得分:1)

不建议发送带有GET请求的请求正文。 GET请求意味着获取该URL必须提供的所有资源/内容。如果他们在服务器端解析GET主体,则违反了语义。但是,如果您确实需要这样做。使用Almofire。这是示例代码。

let parameters : [String : Any] = [
  "id":"12",
  "data":"3"

]

func getContent(parameters: [String: Any]) {
    Alamofire.request("http://18.218.235.193:3000/user/securedtoken", method: 
               .get, parameters: parameters, encoding: JSONEncoding.default)
        .responseObject {(response:
            DataResponse<YOUR RESPONSE MODEL HERE>) in
            let response =  response.result.value
            //Do Something (Success)



            }

    }

答案 1 :(得分:0)

我建议您使用Alamofire库。您可以使用以下代码段完成所需的操作

Alamofire.request(.GET, "http://httpbin.org/get", parameters: ["form": ["id": 12, "data": 3]])
         .response { request, response, data, error in
              print(request)
              print(response)
              print(error)
}