Swift: POST-запрос Alamofire с JSON-объектом в качестве тела - PullRequest
2 голосов
/ 26 апреля 2019

У меня есть этот запрос:

curl -X "POST" "myURL" \
-H 'Content-Type: application/json' \
-H 'User-Agent: myAgent)' \
-H 'Accept-Language: it-IT' \
-d $'{ "Summary": { "Discount": 1.099, "TotalAmount": 9.891, "SubtotalAmount": 10.99 }, "Token": "token", "InstantDiscountId": "id" }'

но я не знаю, как установить тело с этим объектом JSON. С Alamofire я всегда использовал [String: Any] в качестве параметров в запросе, но это не так.

1 Ответ

0 голосов
/ 26 апреля 2019

Ответ заключается в том, чтобы просто установить кодировку на JSONEncoding.default

Вот как это будет выглядеть как код

let request = Alamofire.request(
    myUrl,
    method: .post,
    parameters: [
        "Summary": [
            "Discount": 1.099,
            "TotalAmount": 9.891,
            "SubtotalAmount": 10.99
        ],
        "Token": "token",
        "InstantDiscountId": "id"
    ],
    encoding: JSONEncoding.default,
    headers: [
        "Content-Type": "application/json",
        "User-Agent": "myAgent",
        "Accept-Language": "it-IT"
    ]
)
...