Я пытаюсь использовать текст Microsoft в речь Api.Я заставляю работать на почтальоне, но он дает мне ошибку кода 400 в Swift.Для меня только кода 400 недостаточно, чтобы понять, в чем дело. Существует несколько причин, по которым Api может вернуть это.например: когда данные нулевые или у меня неподдерживаемый голос в xml.Когда я делаю что-то не так, чтобы получить код ошибки 400, почтальон отображает описание ошибки 400.как это:
Но я не могу нигде найти текст после 400 в URLResponce swift.
request.httpBody = jsonString.data(using: String.Encoding.utf8);
request.httpMethod = "POST";
request.addValue("text/plain; charset=utf-8", forHTTPHeaderField: "Content-Type")
request.addValue("no-cache", forHTTPHeaderField: "cache-control")
request.addValue("Bearer " + TranslateViewController.microsoftToken, forHTTPHeaderField: "Authorization")
request.addValue("audio-16khz-32kbitrate-mono-mp3", forHTTPHeaderField: "X-Microsoft-OutputFormat")
let task = URLSession.shared.dataTask(with: request){
(data, response, err) in
do {
guard let data = data else {
throw JSONError.NoData
}
print(data, " | ",response, " | ", err)
} catch let error as JSONError {
print(error.rawValue)
} catch let error as NSError {
print(error.debugDescription)
}
}
task.resume();
отображение функции печати "
0 байт | Необязательно ( {URL: https://eastasia.tts.speech.microsoft.com/cognitiveservices/v1} {Код состояния: 400, Заголовки {"Content-Length" = (0); Дата = ("Чт, 04 апреля 2019 12:03:04 GMT ");" x-msedge-ref "= (" Ссылка A: ########## Ссылка B: ######## Ссылка C:2019-04-04T12: 03: 04Z ");}}) | nil
Мне нужно знать, что это неправильно, чтобы исправить это.
Кроме того, если вы увидите, что мойЯ не рад получить точное описание кода состояния 400, поэтому я был бы рад услышать. Как я вижу, ошибки 400 вызваны передачей данных. Я чувствую, что эта строка может быть проблемой: request.httpBody = jsonString.data(using: String.Encoding.utf8);
это данные "
var jsonString= """
<?xml version=\"1.0\" encoding=\"UTF-8\"?><speak version=\"1.0\" xml:lang=\"en-us\"><voice xml:lang=\"en-us\" name=\"Microsoft Server Speech Text to Speech Voice (zh-CN, Yaoyao, Apollo)\">hello</voice></speak>
"""
Заранее спасибо.