Fluent queries

2020-12-01  本文已影响0人  张科_Zack

server side swift 中 search api要点

  1. 主要是使用 request 中的 query,比如 http://localhost:8080/api/acroncyms/search?term=abc .
    (1) 主机名 + 端口 :http://localhost:8080 ;
    (2) 路由路径: /api/acroncyms/search ;
    (3) query : 在路由路径后加 ?以及键值对链接比如 ?term=abc ;
    如下通过query 拿出参数值
  guard let searchTerm = 
    req.query[String.self, at: "term"] else {
    throw Abort(.badRequest)
  }

2.通过 query 的 filter 来查找

  return Acronym.query(on: req.db)
    .filter(\.$short == searchTerm)
    .all()

以下是路由整体代码段

// 1
app.get("api", "acronyms", "search") { 
  req -> EventLoopFuture<[Acronym]> in
  // 2
  guard let searchTerm = 
    req.query[String.self, at: "term"] else {
    throw Abort(.badRequest)
  }
  // 3
  return Acronym.query(on: req.db)
    .filter(\.$short == searchTerm)
    .all()
}
上一篇下一篇

猜你喜欢

热点阅读