| GET | /posts/{category} |
|---|
namespace adnx.tanchinhdo.api.ServiceModel
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type CategoryResponse() =
member val Id:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val Slug:String = null with get,set
[<AllowNullLiteral>]
type PostResponse() =
member val Id:Int32 = new Int32() with get,set
member val Title:String = null with get,set
member val Slug:String = null with get,set
member val Description:String = null with get,set
member val Body:String = null with get,set
member val CategoryId:Int32 = new Int32() with get,set
member val Category:CategoryResponse = null with get,set
member val ImageUrl:String = null with get,set
member val ViewCount:Int32 = new Int32() with get,set
member val IsPublished:Boolean = new Boolean() with get,set
member val PublishedDate:DateTime = new DateTime() with get,set
member val CreatedDate:DateTime = new DateTime() with get,set
member val UpdatedDate:DateTime = new DateTime() with get,set
[<AllowNullLiteral>]
type PagingRequest() =
member val Page:Int32 = new Int32() with get,set
member val Limit:Int32 = new Int32() with get,set
member val OffSet:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type GetPostByCategoryRequest() =
inherit PagingRequest()
member val Category:String = null with get,set
[<AllowNullLiteral>]
type Pagination() =
member val Total:Int64 = new Int64() with get,set
member val Pages:Int32 = new Int32() with get,set
member val Offset:Int64 = new Int64() with get,set
member val Limit:Int32 = new Int32() with get,set
member val CurrentPage:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type PageResponse<PostResponse>() =
member val Code:Int32 = new Int32() with get,set
member val Message:String = null with get,set
member val Data:ResizeArray<PostResponse> = new ResizeArray<PostResponse>() with get,set
member val Pagination:Pagination = null with get,set
F# GetPostByCategoryRequest DTOs
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/{category} HTTP/1.1
Host: tanchinhdo-api-sandbox.adnx.vn
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
code: 0,
message: String,
data:
[
{
id: 0,
title: String,
slug: String,
description: String,
body: String,
categoryId: 0,
category:
{
id: 0,
name: String,
slug: String
},
imageUrl: String,
viewCount: 0,
isPublished: False
}
]
}