蒸气有多个参数

时间:2018-09-06 15:54:07

标签: javascript query-parameters vapor

我在处理多个参数时遇到麻烦。我可以通过一个,但不确定是否可以通过多个。我在网页中有此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) 

不确定我创建的网址是错误的还是我的Swift代码或两者都错误

1 个答案:

答案 0 :(得分:3)

您似乎想通过query-string parameters,这与route path parameters不同。在这种情况下,两个摘要都是错误的。

查询字符串参数是附加在URL末尾的键/值对,如下所示:

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

因此,您在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...
}