GET | /posts/{Id} |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class GetPost : IGet
{
open var id:Long? = null
open var include:String? = null
}
open class GetPostResponse
{
open var cache:Long? = null
open var post:Post? = null
open var comments:ArrayList<PostComment>? = null
open var responseStatus:ResponseStatus? = null
}
open class Post
{
open var id:Long? = null
open var organizationId:Int? = null
open var userId:Int? = null
@SerializedName("type") open var Type:PostType? = null
open var categoryId:Int? = null
open var title:String? = null
open var slug:String? = null
open var url:String? = null
open var imageUrl:String? = null
@StringLength(MaximumLength=2147483647)
open var content:String? = null
@StringLength(MaximumLength=2147483647)
open var contentHtml:String? = null
open var pinCommentId:Long? = null
open var technologyIds:ArrayList<Int>? = null
open var fromDate:Date? = null
open var toDate:Date? = null
open var location:String? = null
open var metaType:String? = null
open var meta:String? = null
open var approved:Boolean? = null
open var upVotes:Long? = null
open var downVotes:Long? = null
open var points:Long? = null
open var views:Long? = null
open var favorites:Long? = null
open var subscribers:Int? = null
open var replyCount:Int? = null
open var commentsCount:Int? = null
open var wordCount:Int? = null
open var reportCount:Int? = null
open var linksCount:Int? = null
open var linkedToCount:Int? = null
open var score:Int? = null
open var rank:Int? = null
open var labels:ArrayList<String>? = null
open var refUserIds:ArrayList<Int>? = null
open var refLinks:ArrayList<String>? = null
open var muteUserIds:ArrayList<Int>? = null
open var lastCommentDate:Date? = null
open var lastCommentId:Long? = null
open var lastCommentUserId:Int? = null
open var deleted:Date? = null
open var deletedBy:String? = null
open var locked:Date? = null
open var lockedBy:String? = null
open var hidden:Date? = null
open var hiddenBy:String? = null
open var status:String? = null
open var statusDate:Date? = null
open var statusBy:String? = null
open var archived:Boolean? = null
open var bumped:Date? = null
open var created:Date? = null
open var createdBy:String? = null
open var modified:Date? = null
open var modifiedBy:String? = null
open var refId:Long? = null
open var refSource:String? = null
open var refUrn:String? = null
}
enum class PostType
{
Announcement,
Post,
Showcase,
Question,
Request,
}
open class PostComment
{
open var id:Long? = null
open var postId:Long? = null
open var userId:Int? = null
open var replyId:Long? = null
@StringLength(MaximumLength=2147483647)
open var content:String? = null
@StringLength(MaximumLength=2147483647)
open var contentHtml:String? = null
open var score:Int? = null
open var rank:Int? = null
open var upVotes:Long? = null
open var downVotes:Long? = null
open var favorites:Long? = null
open var wordCount:Int? = null
open var reportCount:Int? = null
open var deleted:Date? = null
open var hidden:Date? = null
open var modified:Date? = null
open var created:Date? = null
open var createdBy:String? = null
open var refId:Long? = null
open var refSource:String? = null
open var refUrn:String? = null
}
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.
GET /posts/{Id} HTTP/1.1 Host: techstacks.io Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { cache: 0, post: { id: 0, organizationId: 0, userId: 0, type: Announcement, categoryId: 0, title: String, slug: String, url: String, imageUrl: String, content: String, contentHtml: String, pinCommentId: 0, technologyIds: [ 0 ], fromDate: 0001-01-01, toDate: 0001-01-01, location: String, metaType: String, meta: String, approved: False, upVotes: 0, downVotes: 0, points: 0, views: 0, favorites: 0, subscribers: 0, replyCount: 0, commentsCount: 0, wordCount: 0, reportCount: 0, linksCount: 0, linkedToCount: 0, score: 0, rank: 0, labels: [ String ], refUserIds: [ 0 ], refLinks: [ String ], muteUserIds: [ 0 ], lastCommentDate: 0001-01-01, lastCommentId: 0, lastCommentUserId: 0, deleted: 0001-01-01, deletedBy: String, locked: 0001-01-01, lockedBy: String, hidden: 0001-01-01, hiddenBy: String, status: String, statusDate: 0001-01-01, statusBy: String, archived: False, bumped: 0001-01-01, created: 0001-01-01, createdBy: String, modified: 0001-01-01, modifiedBy: String, refId: 0, refSource: String, refUrn: String }, comments: [ { id: 0, postId: 0, userId: 0, replyId: 0, content: String, contentHtml: String, score: 0, rank: 0, upVotes: 0, downVotes: 0, favorites: 0, wordCount: 0, reportCount: 0, deleted: 0001-01-01, hidden: 0001-01-01, modified: 0001-01-01, created: 0001-01-01, createdBy: String, refId: 0, refSource: String, refUrn: String } ], responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }