Помещение тела HTTP-запроса в «данные» : {}?

#ios #json #swift #networking

Вопрос:

Я хочу, чтобы мой запрос имел структуру:

 {
   "data": {
      "key": "value"
   }
}
 

Однако в настоящее время он просто отправит

 {
   "key": "value"
}
 

Мой код таков:

 let data: Data = try JSONSerialization.data(withJSONObject: reqDict, options: [])
 

Где reqDict-это словарь

затем:

 var request: URLRequest = URLRequest(url: url)
request.httpBody = data
 

Как мне создать оболочку «данные»: вокруг всего запроса, как ожидает мой сервер? Нужно ли мне создавать пользовательский объект «запрос», содержащий словарь, для создания этого значения? или это то, что я могу сделать в клиенте rest для всех запросов?

Ответ №1:

Вы можете попробовать

 let content:[String:Any] = ["data":reqDict]
let data = try JSONSerialization.data(withJSONObject: content, options: [])
 

Комментарии:

1. да, это работает, я не был уверен, было ли это так просто или это слишком кувалда, чтобы добавить это на ВСЕ мои запросы api таким образом