Отправить запрос на получение с помощью alamofire в быстром темпе - PullRequest
0 голосов
/ 06 мая 2020

Когда я отправляю запрос, он отправляется, но параметр, который я отправляю, не распознается на сервере ‌Но в почтальоне запрос в порядке и работает нормально

это мой ответ на стороне клиента: ' страна требуется '

это мой код на стороне сервера (nodejs - express):

const app = express()
    app.use(bodyparser.urlencoded({ extended: false }));
    app.use(bodyparser.json({ type: 'application/json' }))
    app.use(expressvalidator())
    app.get('/cities', (req, res) => {
        req.checkBody('country', 'country is required').notEmpty()
        let errors = req.validationErrors()
        if (errors) {
            return res.status(422).json({
                message: errors[0].msg
            })
        }
        var cities = require('country-city').getCities(req.body.country);
        console.log(cities)
        return res.json({ cities: cities })
    })

и мой код на стороне клиента (swift):

let params2 : Parameters = ["country" : "China"]
    Alamofire.request("http://172.20.10.3:4000/cities",method : .get, parameters: params2, encoding: URLEncoding.default).responseJSON { (jsonData) in
        do {
            print(jsonData)
        }catch {

        }
    }

1 Ответ

2 голосов
/ 06 мая 2020

Вы используете URLEncoding.default данные будут добавлены в URL-адрес, чтобы создать JSON с параметрами, которые вы установили, вы должны использовать опцию JSONEncoding.default.

...