| GET, POST | /contabilita/bilancio/dal/{DataDa}/al/{DataA} |
|---|
import Foundation
import ServiceStack
public class ElaboraBilancio : Codable
{
// @Required()
public var dataA:Date?
// @Required()
public var dataDa:Date?
public var sezione:Int?
public var cat:FK_CAT?
public var escludiExtracontabili:Bool?
required public init(){}
}
public class FK_CAT : FK, IUniqueCodice
{
public var codice:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case codice
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
codice = try container.decodeIfPresent(String.self, forKey: .codice)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if codice != nil { try container.encode(codice, forKey: .codice) }
}
}
public class FK : Codable
{
public var id:Int?
required public init(){}
}
public class BilancioResponse : Codable
{
public var elementi:[RigaBilancio] = []
required public init(){}
}
public class RigaBilancio : Codable
{
public var conto:ContoConExtra?
public var attivitaRicavo:Double?
public var passivitaCosto:Double?
public var saldo:Double?
required public init(){}
}
public class ContoConExtra : FK_Conto
{
public var isEconomico:Bool?
public var isPatrimoniale:Bool?
public var codiceMastro:String?
public var codiceConto:String?
public var descrizione:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case isEconomico
case isPatrimoniale
case codiceMastro
case codiceConto
case descrizione
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
isEconomico = try container.decodeIfPresent(Bool.self, forKey: .isEconomico)
isPatrimoniale = try container.decodeIfPresent(Bool.self, forKey: .isPatrimoniale)
codiceMastro = try container.decodeIfPresent(String.self, forKey: .codiceMastro)
codiceConto = try container.decodeIfPresent(String.self, forKey: .codiceConto)
descrizione = try container.decodeIfPresent(String.self, forKey: .descrizione)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if isEconomico != nil { try container.encode(isEconomico, forKey: .isEconomico) }
if isPatrimoniale != nil { try container.encode(isPatrimoniale, forKey: .isPatrimoniale) }
if codiceMastro != nil { try container.encode(codiceMastro, forKey: .codiceMastro) }
if codiceConto != nil { try container.encode(codiceConto, forKey: .codiceConto) }
if descrizione != nil { try container.encode(descrizione, forKey: .descrizione) }
}
}
public class FK_Conto : FK, IUniqueCodice, IUniqueCodiceExport
{
public var codice:String?
public var codiceExport:String?
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case codice
case codiceExport
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
codice = try container.decodeIfPresent(String.self, forKey: .codice)
codiceExport = try container.decodeIfPresent(String.self, forKey: .codiceExport)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if codice != nil { try container.encode(codice, forKey: .codice) }
if codiceExport != nil { try container.encode(codiceExport, forKey: .codiceExport) }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /contabilita/bilancio/dal/{DataDa}/al/{DataA} HTTP/1.1
Host: unico3.link.api
Accept: application/json
Content-Type: application/json
Content-Length: length
{"DataA":"0001-01-01T00:00:00.0000000","DataDa":"0001-01-01T00:00:00.0000000","Sezione":0,"CAT":{"Codice":"String","Id":0},"EscludiExtracontabili":false}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length
{"Elementi":[{"Conto":{"IsEconomico":false,"IsPatrimoniale":false,"CodiceMastro":"String","CodiceConto":"String","Descrizione":"String","Codice":"String","CodiceExport":"String","Id":0},"AttivitaRicavo":0,"PassivitaCosto":0,"Saldo":0}]}