Jo’s BookshelfService-Side Swift 开发篇

已下记录着目前在开发中已经遇到的bugdiff

  • 设置routes时对于badRequest等异常情况提示信息的返回
// Old Way
routes.add(method: .get, uri: "/beers/{num_beers}") { (request, response) in
    guard let  numBeersString = request.urlVariables["num_beers"],
        let numBeersInt = Int(numBeersString) else {
            response.completed(status: .badRequest) // 旧版的completed
            return
    }
    returnJSONMessage(message: "Take one down, pass it around, (numBeersInt - 1) bottles of beer on the wall...", response: response)
}

// New Way
routes.add(method: .get, uri: "/beers/{num_beers}") { (request, response) in
    guard let  numBeersString = request.urlVariables["num_beers"],
        let numBeersInt = Int(numBeersString) else {
            // 需要先设置status, 再在body中展示
            response.status = .badRequest
            response.setBody(string: "Error handling request (response.status)")
            response.completed()
            return
    }
    returnJSONMessage(message: "Take one down, pass it around, (numBeersInt - 1) bottles of beer on the wall...", response: response)
}