参数标签 '(content:)' 不匹配任何可用的重载,swift,vapor,rest in vapor,using postgresql
Argument labels '(content:)' do not match any available overloads, swift ,vapor,rest in vapor ,using postgresql
错误参数标签 '(content:)' 与任何可用的 overloads.using postgresql 不匹配,而其余的在 vapor 中获取模型控制器的 json representable.The 语法如下,数据库内容的含义
import Foundation
import Vapor
import FluentProvider
import PostgreSQLProvider
final class dataPointStorage: Model, JSONRepresentable, NodeRepresentable {
// var _data: dataPointProtocol?
// var _data:[dataPointProtocol] = []
let storage = Storage()
var id: Node?
var name:String
var displayName:String
var content:String
// let temp = dataPointStorage()
init(node:Node ,content: String?, displayName:String, name:String) {
self.id = nil
self.displayName = displayName
self.name = name
}
static let idKey = "id"
static let contentKey = "content"
func forDataBase() {
let array:[berichtDataPoint] = [intDataPoint(), boolDataPoint(), doubleDataPoint()]
let _ = array[0] as! intDataPoint
let _ = array[1] as! doubleDataPoint
for point in array {
switch point {
case is intDataPoint:
print("int")
case is doubleDataPoint:
print("double")
case is boolDataPoint:
print("bool")
default:
print("error")
}
}
}
func makeRow() throws -> Row {
var row = Row()
try row.set("id", id)
try row.set("displayName", displayName)
try row.set("name", name)
return row
}
init(row: Row) throws {
id = try row.get("id")
displayName = try row.get("displayName")
name = try row.get("name")
}
func makeNode(context: Context) throws -> Node {
return try Node(node: [
"id": id,
"displayName": displayName,
"name": name
])
}
}
extension dataPointStorage: Preparation {
static func prepare(_ database: Database) throws {
try database.create(self) { dataPointStorage in
dataPointStorage.id()
dataPointStorage.string("displayName")
dataPointStorage.string("name")
dataPointStorage.string("content")
}
}
static func revert(_ database: Database) throws {
try database.delete(dataPointStorage)
}
}
extension dataPointStorage: JSONConvertible {
convenience init(json: JSON) throws {
try self.init(
error here¶¶¶ content: json.get(dataPointStorage.contentKey)¶¶¶¶ error
)
}
func makeJSON() throws -> JSON {
var json = JSON()
try json.set("id", id)
try json.set("name", name)
try json.set("displaName", displayName)
try json.set("content", Content)
return json
}
}
我将 rest in vapor 的一般上下文视为 JSON 可表示,但没有得到解决这个简单错误的原因。
您似乎在尝试调用此 init?
init(node:Node ,content: String?, displayName:String, name:String)
如果是这种情况,您需要传入其余参数,因为它们没有可用的默认值:
convenience init(json: JSON) throws {
try self.init(
node: <VALUE>,
content: json.get(dataPointStorage.contentKey),
displayName: <VALUE>,
name: <VALULE>
)
}
这将解决您的问题。
错误参数标签 '(content:)' 与任何可用的 overloads.using postgresql 不匹配,而其余的在 vapor 中获取模型控制器的 json representable.The 语法如下,数据库内容的含义
import Foundation
import Vapor
import FluentProvider
import PostgreSQLProvider
final class dataPointStorage: Model, JSONRepresentable, NodeRepresentable {
// var _data: dataPointProtocol?
// var _data:[dataPointProtocol] = []
let storage = Storage()
var id: Node?
var name:String
var displayName:String
var content:String
// let temp = dataPointStorage()
init(node:Node ,content: String?, displayName:String, name:String) {
self.id = nil
self.displayName = displayName
self.name = name
}
static let idKey = "id"
static let contentKey = "content"
func forDataBase() {
let array:[berichtDataPoint] = [intDataPoint(), boolDataPoint(), doubleDataPoint()]
let _ = array[0] as! intDataPoint
let _ = array[1] as! doubleDataPoint
for point in array {
switch point {
case is intDataPoint:
print("int")
case is doubleDataPoint:
print("double")
case is boolDataPoint:
print("bool")
default:
print("error")
}
}
}
func makeRow() throws -> Row {
var row = Row()
try row.set("id", id)
try row.set("displayName", displayName)
try row.set("name", name)
return row
}
init(row: Row) throws {
id = try row.get("id")
displayName = try row.get("displayName")
name = try row.get("name")
}
func makeNode(context: Context) throws -> Node {
return try Node(node: [
"id": id,
"displayName": displayName,
"name": name
])
}
}
extension dataPointStorage: Preparation {
static func prepare(_ database: Database) throws {
try database.create(self) { dataPointStorage in
dataPointStorage.id()
dataPointStorage.string("displayName")
dataPointStorage.string("name")
dataPointStorage.string("content")
}
}
static func revert(_ database: Database) throws {
try database.delete(dataPointStorage)
}
}
extension dataPointStorage: JSONConvertible {
convenience init(json: JSON) throws {
try self.init(
error here¶¶¶ content: json.get(dataPointStorage.contentKey)¶¶¶¶ error
)
}
func makeJSON() throws -> JSON {
var json = JSON()
try json.set("id", id)
try json.set("name", name)
try json.set("displaName", displayName)
try json.set("content", Content)
return json
}
}
我将 rest in vapor 的一般上下文视为 JSON 可表示,但没有得到解决这个简单错误的原因。
您似乎在尝试调用此 init?
init(node:Node ,content: String?, displayName:String, name:String)
如果是这种情况,您需要传入其余参数,因为它们没有可用的默认值:
convenience init(json: JSON) throws {
try self.init(
node: <VALUE>,
content: json.get(dataPointStorage.contentKey),
displayName: <VALUE>,
name: <VALULE>
)
}
这将解决您的问题。