POST-запрос URLSession с элементом json "_id" с кодируемым классом в Swift - PullRequest
0 голосов
/ 01 марта 2020

Я пытаюсь использовать URLSessions для получения и публикации данных. У меня нет проблем с получением запросов на Swift, просто пишите. Я следовал этому У меня есть кодируемый класс, который выглядит так:

class Item: Codable {
  var _id: String?
  var name: String = ""
  var color: String = ""
  var rating: Int = 0

  init(name: String, color: String, rating: Int){
        self.name = name
        self.color = color
        self.rating = rating
  }

}

И json данные, которые выглядят так:

[ {
   "_id" : "5e50a10c4ea5d87f0001c9da",
   "name" : "Pepper",
   "color" : "blue",
   "rating" : 4
  },
  {
   "_id" : "5e50a10c4ea5d87f0001c9db",
   "name" : "Pepper",
   "color" : "blue",
   "rating" : 2
  },
  {
   "_id" : "5e50a10c4ea5d87f0001c9dc",
   "name" : "Pepper"
   "color" : "blue"
   "rating" : 6
  }
]

Я в настоящее время использую restdb.io для своей базы данных, и проверил мои запросы, используя Postman для всех Get, Post, Put, ... et c. В Postman, когда я создаю POST-запрос с телом Json только с элементами name, color и rating, он генерирует уникальный _id без необходимости указывать.

Когда я делаю это в Swift и отправляю запрос на публикацию с объектом Item с помощью метода init (), где я оставил _id в качестве необязательного значения в классе, мой код вылетает с «неожиданно найденным nil при неявном развертывании» Необязательное значение ». Как мне обойти это?

1 Ответ

0 голосов
/ 02 марта 2020

Если вам не нужен _id в вашем быстром коде, вы можете его игнорировать и не включать в свою кодируемую структуру. Таким образом, кодируемый игнорирует его и не обрабатывает

...