2017-10-10 76 views
0

错误参数标签'(content :)'不匹配任何可用的重载。使用postgresql时,其余部分蒸汽以获取模式控制器JSON representable.The语法如下其次,在数据库意为内容参数标签'(content :)'不匹配任何可用的重载,快速,蒸气,静止在蒸气中,使用postgresql

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 
    } 
} 

我下面休息的蒸汽一般上下文JSON表示的,但没有得到这个简单的理由错误来解决。

回答

0

看起来你正试图调用这个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> 
    ) 
} 

这将解决您的问题。