All Verbs | /app-overview |
---|
import Foundation
import ServiceStack
public class AppOverview : IGet, Codable
{
public var reload:Bool
required public init(){}
}
public class AppOverviewResponse : Codable
{
public var created:Date
public var allTiers:[Option]
public var topTechnologies:[TechnologyInfo]
public var responseStatus:ResponseStatus
required public init(){}
}
// @DataContract
public class Option : Codable
{
// @DataMember(Name="name")
public var name:String
// @DataMember(Name="title")
public var title:String
// @DataMember(Name="value")
public var value:TechnologyTier?
required public init(){}
}
public enum TechnologyTier : String, Codable
{
case ProgrammingLanguage
case Client
case Http
case Server
case Data
case SoftwareInfrastructure
case OperatingSystem
case HardwareInfrastructure
case ThirdPartyServices
}
public class TechnologyInfo : Codable
{
public var tier:TechnologyTier
public var slug:String
public var name:String
public var logoUrl:String
public var stacksCount:Int
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /app-overview HTTP/1.1
Host: techstacks.io
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
reload: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { created: 0001-01-01, allTiers: [ { name: String, title: String, value: ProgrammingLanguage } ], topTechnologies: [ { tier: ProgrammingLanguage, slug: String, name: String, logoUrl: String, stacksCount: 0 } ], responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }