namespace ScannerVision.WebService.Json.Dto
open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type JsonDto() =
class end
[<AllowNullLiteral>]
type JsonRequestDto() =
inherit JsonDto()
member val ClientCode:String = null with get,set
member val ClientRegistrationCode:String = null with get,set
member val Token:String = null with get,set
[<AllowNullLiteral>]
type JsonMetadataUploadRequest() =
inherit JsonRequestDto()
member val UploadFileName:String = null with get,set
member val OriginalFileName:String = null with get,set
member val TemplateGuid:String = null with get,set
member val ClientIpAddress:String = null with get,set
member val ClientGuid:String = null with get,set
member val ClientName:String = null with get,set
member val ClientId:String = null with get,set
member val ClientSerialNumber:String = null with get,set
member val UserName:String = null with get,set
member val UserEmail:String = null with get,set
member val UserHomeFolder:String = null with get,set
member val TemplateQuestions:IDictionary<String, String> = null with get,set
member val GlobalQuestions:IDictionary<String, String> = null with get,set
[<AllowNullLiteral>]
type JsonMetadataUploadResponse() =
inherit JsonDto()
member val TemplateGuid:String = null with get,set
member val InError:Boolean = new Boolean() with get,set
member val ErrorMessage:String = null with get,set
F# JsonMetadataUploadRequest 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.
POST /jsv/reply/JsonMetadataUploadRequest HTTP/1.1
Host: buildmax.org
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
UploadFileName: String,
OriginalFileName: String,
TemplateGuid: String,
ClientIpAddress: String,
ClientGuid: String,
ClientName: String,
ClientId: String,
ClientSerialNumber: String,
UserName: String,
UserEmail: String,
UserHomeFolder: String,
ClientCode: String,
ClientRegistrationCode: String,
Token: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
TemplateGuid: String,
InError: False,
ErrorMessage: String
}