Я относительно новичок в сети в Swift, и особенно в POST-запросах.Я прочитал документацию по API Clarifai и Alamofire, но не совсем понял, как написать рабочий запрос с использованием Alamofire.До сих пор я обнаружил следующий фрагмент кода, который создает структуру, соответствующую API-интерфейсу Clarifai, которая хочет, чтобы запрос был структурирован следующим образом:
curl -X POST \
-H "Authorization: Key YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d @https://api.clarifai.com/v2/models/aaa03c23b3724a16a56b629203edc62c/outputs << FILEIN
{
"inputs": [
{
"data": {
"image": {
"base64": "$(base64 /home/user/image.png)"
}
}
}
]
}
FILEIN
Это быстрый код, который я обнаружил, который достигает точночто:
struct ImageObj: Codable {let base64: String}
struct DataObj: Codable {
let image: ImageObj
}
struct InputObj: Codable {
let data: DataObj
}
struct InputsContainerObj: Codable {
let inputs: [InputObj]
}
let imageObj = ImageObj(base64: "abc123")
let dataObj = DataObj(image: imageObj)
let inputObj = InputObj(data: dataObj)
let inputsContainerObj = InputsContainerObj(inputs: [inputObj])
let encoder = JSONEncoder()
do {
let jsonData = try encoder.encode(inputsContainerObj)
let jsonString = String(data: jsonData, encoding: .utf8)!
print(jsonString) //{"inputs":[{"data":{"image":{"base64":"abc123"}}}]}
} catch _ as NSError {
}
Теперь я понятия не имею, что мне делать после этого.Я пытался написать запрос Alamofire, используя POST, но застрял на параметрах?а кодируемые?Для параметров я пробовал что-то вроде:
let parameters: Parameters = [
"Authorization: Key":"f58fce8f9cac4a6a9e6d45a57223599a",
"Content-Type":"application/json"]
Но я не знаю, правильно ли это.Если бы кто-нибудь мог помочь мне здесь, я был бы очень признателен!Всем хорошего дня!