All Verbs | /overview |
---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports TechStacks.ServiceModel
Imports TechStacks.ServiceModel.Types
Namespace Global
Namespace TechStacks.ServiceModel
Public Partial Class CategoryInfo
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Slug As String
End Class
Public Partial Class LabelInfo
Public Overridable Property Slug As String
Public Overridable Property Color As String
End Class
Public Partial Class OrganizationInfo
Public Overridable Property Id As Integer
Public Overridable Property Name As String
Public Overridable Property Slug As String
Public Overridable Property RefId As Long?
Public Overridable Property RefSource As String
Public Overridable Property UpVotes As Long?
Public Overridable Property DownVotes As Long?
Public Overridable Property MembersCount As Long
Public Overridable Property Rank As Integer
Public Overridable Property DisableInvites As Boolean?
Public Overridable Property Lang As String
Public Overridable Property PostTypes As String()
Public Overridable Property ModeratorPostTypes As String()
Public Overridable Property Locked As Date?
Public Overridable Property Labels As List(Of LabelInfo)
Public Overridable Property Categories As List(Of CategoryInfo)
End Class
Public Partial Class Overview
Implements IGet
Public Overridable Property Reload As Boolean
End Class
Public Partial Class OverviewResponse
Public Overridable Property Created As Date
Public Overridable Property TopUsers As List(Of UserInfo)
Public Overridable Property TopTechnologies As List(Of TechnologyInfo)
Public Overridable Property LatestTechStacks As List(Of TechStackDetails)
Public Overridable Property PopularTechStacks As List(Of TechnologyStack)
Public Overridable Property AllOrganizations As List(Of OrganizationInfo)
Public Overridable Property TopTechnologiesByTier As Dictionary(Of String, List(Of TechnologyInfo))
Public Overridable Property ResponseStatus As ResponseStatus
End Class
Public Partial Class TechnologyInfo
Public Overridable Property Tier As TechnologyTier
Public Overridable Property Slug As String
Public Overridable Property Name As String
Public Overridable Property LogoUrl As String
Public Overridable Property StacksCount As Integer
End Class
Public Partial Class TechnologyInStack
Inherits TechnologyBase
Public Overridable Property TechnologyId As Long
Public Overridable Property TechnologyStackId As Long
Public Overridable Property Justification As String
End Class
Public Partial Class TechStackDetails
Inherits TechnologyStackBase
Public Overridable Property TechnologyChoices As List(Of TechnologyInStack)
End Class
Public Partial Class UserInfo
Public Overridable Property UserName As String
Public Overridable Property AvatarUrl As String
Public Overridable Property StacksCount As Integer
End Class
End Namespace
Namespace TechStacks.ServiceModel.Types
Public Partial Class TechnologyBase
Public Overridable Property Id As Long
Public Overridable Property Name As String
Public Overridable Property VendorName As String
Public Overridable Property VendorUrl As String
Public Overridable Property ProductUrl As String
Public Overridable Property LogoUrl As String
Public Overridable Property Description As String
Public Overridable Property Created As Date
Public Overridable Property CreatedBy As String
Public Overridable Property LastModified As Date
Public Overridable Property LastModifiedBy As String
Public Overridable Property OwnerId As String
Public Overridable Property Slug As String
Public Overridable Property LogoApproved As Boolean
Public Overridable Property IsLocked As Boolean
Public Overridable Property Tier As TechnologyTier
Public Overridable Property LastStatusUpdate As Date?
Public Overridable Property OrganizationId As Integer?
Public Overridable Property CommentsPostId As Long?
Public Overridable Property ViewCount As Integer
Public Overridable Property FavCount As Integer
End Class
Public Partial Class TechnologyStack
Inherits TechnologyStackBase
End Class
Public Partial Class TechnologyStackBase
Public Overridable Property Id As Long
Public Overridable Property Name As String
Public Overridable Property VendorName As String
Public Overridable Property Description As String
Public Overridable Property AppUrl As String
Public Overridable Property ScreenshotUrl As String
Public Overridable Property Created As Date
Public Overridable Property CreatedBy As String
Public Overridable Property LastModified As Date
Public Overridable Property LastModifiedBy As String
Public Overridable Property IsLocked As Boolean
Public Overridable Property OwnerId As String
Public Overridable Property Slug As String
<StringLength(Integer.MaxValue)>
Public Overridable Property Details As String
<StringLength(Integer.MaxValue)>
Public Overridable Property DetailsHtml As String
Public Overridable Property LastStatusUpdate As Date?
Public Overridable Property OrganizationId As Integer?
Public Overridable Property CommentsPostId As Long?
Public Overridable Property ViewCount As Integer
Public Overridable Property FavCount As Integer
End Class
Public Enum TechnologyTier
ProgrammingLanguage
Client
Http
Server
Data
SoftwareInfrastructure
OperatingSystem
HardwareInfrastructure
ThirdPartyServices
End Enum
End Namespace
End Namespace
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 /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, topUsers: [ { userName: String, avatarUrl: String, stacksCount: 0 } ], topTechnologies: [ { tier: ProgrammingLanguage, slug: String, name: String, logoUrl: String, stacksCount: 0 } ], latestTechStacks: [ { technologyChoices: [ { technologyId: 0, technologyStackId: 0, justification: String, id: 0, name: String, vendorName: String, vendorUrl: String, productUrl: String, logoUrl: String, description: String, created: 0001-01-01, createdBy: String, lastModified: 0001-01-01, lastModifiedBy: String, ownerId: String, slug: String, logoApproved: False, isLocked: False, tier: ProgrammingLanguage, lastStatusUpdate: 0001-01-01, organizationId: 0, commentsPostId: 0, viewCount: 0, favCount: 0 } ], id: 0, name: String, vendorName: String, description: String, appUrl: String, screenshotUrl: String, created: 0001-01-01, createdBy: String, lastModified: 0001-01-01, lastModifiedBy: String, isLocked: False, ownerId: String, slug: String, details: String, detailsHtml: String, lastStatusUpdate: 0001-01-01, organizationId: 0, commentsPostId: 0, viewCount: 0, favCount: 0 } ], popularTechStacks: [ { id: 0, name: String, vendorName: String, description: String, appUrl: String, screenshotUrl: String, created: 0001-01-01, createdBy: String, lastModified: 0001-01-01, lastModifiedBy: String, isLocked: False, ownerId: String, slug: String, details: String, detailsHtml: String, lastStatusUpdate: 0001-01-01, organizationId: 0, commentsPostId: 0, viewCount: 0, favCount: 0 } ], allOrganizations: [ { id: 0, name: String, slug: String, refId: 0, refSource: String, upVotes: 0, downVotes: 0, membersCount: 0, rank: 0, disableInvites: False, lang: String, postTypes: [ String ], moderatorPostTypes: [ String ], locked: 0001-01-01, labels: [ { slug: String, color: String } ], categories: [ { id: 0, name: String, slug: String } ] } ], topTechnologiesByTier: { String: [ { 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 } } }