调试 Alamofire 请求

3

我正在尝试调试由Alamofire发送到服务器端点的HTTP头和正文。所有的头参数似乎都是正确的,因为我从端点那里得到了确认,但是我在处理服务器时遇到了问题,在参数字段中发送给它的JSON没有被解析。如何找出请求中发送了什么?

let headers: HTTPHeaders = [
                    "API-Key": apiKey,
                    "Accept": "application/json",
                    "Content-Type": "application/json"
                ]

let data = ["name":"Don Jonhson"]


Alamofire.request(endPointUrl, method: .post,  parameters: data, 
encoding: URLEncoding.httpBody, headers: headers).responseJSON() { 
           response in

           if let status = response.response?.statusCode {
              switch(status){
               case 201:
                debugPrint(response)
               default:
                debugPrint(response)
              }
           }

          ...
1个回答

2

您正在使用一个简单的字符串字典,您需要使用Alamofire的参数来替代。

let params: Parameters = ["name":"Don Jonhson"]

Alamofire.request(endPointUrl, method: .post,  parameters: params, 
encoding: URLEncoding.httpBody, headers: headers).responseJSON() { 
       response in

       if let status = response.response?.statusCode {
          switch(status){
           case 201:
            debugPrint(response)
           default:
            debugPrint(response)
          }
       }

      ...

谢谢你。我该如何检查名称已正确插入到HTTP正文中的JSON中? - rubyist
当您收到响应时,可以检查它是否为200,以便您能够接收一些数据。否则,您可以检查后端以查看您发送的用户是否已创建。如果您尝试了我的答案并且有效,请标记它为正确答案,谢谢! - Khalid Afridi
我已经收到了200响应。问题在于,服务器会发生错误,指出请求正文中的JSON不正确。这就是我想要调试的内容。服务器端点正确解释了标头信息,即API密钥、内容类型等等。服务器还应该解析包含一些JSON数据的HTTP正文。服务器端点抱怨发送的JSON。因此,我试图弄清楚当请求离开iPhone时,HTTP正文中实际上有什么信息,以及如何从Alamofire获取该信息? - rubyist

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接