我對Vapor 2.0服務器端Swift框架非常熟悉,並且讓我困惑的是大量使用字符串文字。例如,實施Model
協議,你必須分析和序列這樣的行(從自動生成的示例項目採取):Vapor中的數據庫列名
// Initializes the Post from the database row
init(row: Row) throws {
content = try row.get("content")
}
// Serializes the Post to the database
func makeRow() throws -> Row {
var row = Row()
try row.set("content", content)
return row
}
正如你所看到的,對於每一個屬性,你使用它的數據庫名稱兩次作爲一個字符串文字只是爲了這個特定的協議。在其他情況下還有更多 - 例如,Database
協議,您自己的方法等。
使用文字字符串作爲參數在這裏有明顯的缺點,靜態分析器不檢查它們(就像Objective-C中的鍵值參數),使這種方法極易出錯。有沒有我錯過的最佳做法?
API模板已更新爲像這樣工作。 :) https://github.com/vapor/api-template/pull/36 – tanner0101