Пар с несколькими параметрами - PullRequest
0 голосов
/ 06 сентября 2018

У меня проблемы с несколькими параметрами. Я в порядке с передачей одного, но не уверен в том, чтобы передать несколько. У меня есть этот код JS на веб-странице:

$.getJSON('api/vendor/countryVendors/'+country+'&'+resourceType,    function(result){} 

И следующее в моем контроллере Vapor:

func getcountryVendors(_ req: Request) throws -> Future<[Vendor]> {
    let countryString = try req.parameters.next(String.self)
    let resourceTypeString = try req.parameters.next(String.self) 

не уверен, что созданный мною URL неверен, мой код Swift или оба

1 Ответ

0 голосов
/ 06 сентября 2018

Похоже, вы пытаетесь передать параметры строки запроса , которые отличаются от параметров пути маршрута . В этом случае оба фрагмента неверны.

Строковые параметры запроса - это пары ключ / значение, которые добавляются в конец URL, например:

/my/url/path?key=value&key1=value1

Таким образом, ваш URL в вашем коде JS должен выглядеть следующим образом:

'api/vendor/countryVendors?country='+country+'&resourceType='+resourceType

Чтобы получить параметры строки запроса из URL-адреса, переданного в обработчик маршрута, вы используете свойство request.query и метод .get(_:at:):

func getcountryVendors(_ req: Request) throws -> Future<[Vendor]> {
    let countryString = try req.query.get(String.self, at: "country")
    let resourceTypeString = try req.query.get(String.self, at: "resourceType") 

    // Other code...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...