import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
@DataContract
public static class GetAnalyticsInfo implements IGet
{
@DataMember(Order=1)
public Date month = null;
@DataMember(Order=2)
public String type = null;
@DataMember(Order=3)
public String op = null;
@DataMember(Order=4)
public String apiKey = null;
@DataMember(Order=5)
public String userId = null;
@DataMember(Order=6)
public String ip = null;
public Date getMonth() { return month; }
public GetAnalyticsInfo setMonth(Date value) { this.month = value; return this; }
public String getType() { return type; }
public GetAnalyticsInfo setType(String value) { this.type = value; return this; }
public String getOp() { return op; }
public GetAnalyticsInfo setOp(String value) { this.op = value; return this; }
public String getApiKey() { return apiKey; }
public GetAnalyticsInfo setApiKey(String value) { this.apiKey = value; return this; }
public String getUserId() { return userId; }
public GetAnalyticsInfo setUserId(String value) { this.userId = value; return this; }
public String getIp() { return ip; }
public GetAnalyticsInfo setIp(String value) { this.ip = value; return this; }
}
@DataContract
public static class GetAnalyticsInfoResponse
{
@DataMember(Order=1)
public ArrayList<String> months = null;
@DataMember(Order=2)
public AnalyticsLogInfo result = null;
@DataMember(Order=3)
public ResponseStatus responseStatus = null;
public ArrayList<String> getMonths() { return months; }
public GetAnalyticsInfoResponse setMonths(ArrayList<String> value) { this.months = value; return this; }
public AnalyticsLogInfo getResult() { return result; }
public GetAnalyticsInfoResponse setResult(AnalyticsLogInfo value) { this.result = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public GetAnalyticsInfoResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
@DataContract
public static class AnalyticsLogInfo
{
@DataMember(Order=1)
public Long id = null;
@DataMember(Order=2)
public Date dateTime = null;
@DataMember(Order=3)
public String browser = null;
@DataMember(Order=4)
public String device = null;
@DataMember(Order=5)
public String bot = null;
@DataMember(Order=6)
public String op = null;
@DataMember(Order=7)
public String userId = null;
@DataMember(Order=8)
public String userName = null;
@DataMember(Order=9)
public String apiKey = null;
@DataMember(Order=10)
public String ip = null;
public Long getId() { return id; }
public AnalyticsLogInfo setId(Long value) { this.id = value; return this; }
public Date getDateTime() { return dateTime; }
public AnalyticsLogInfo setDateTime(Date value) { this.dateTime = value; return this; }
public String getBrowser() { return browser; }
public AnalyticsLogInfo setBrowser(String value) { this.browser = value; return this; }
public String getDevice() { return device; }
public AnalyticsLogInfo setDevice(String value) { this.device = value; return this; }
public String getBot() { return bot; }
public AnalyticsLogInfo setBot(String value) { this.bot = value; return this; }
public String getOp() { return op; }
public AnalyticsLogInfo setOp(String value) { this.op = value; return this; }
public String getUserId() { return userId; }
public AnalyticsLogInfo setUserId(String value) { this.userId = value; return this; }
public String getUserName() { return userName; }
public AnalyticsLogInfo setUserName(String value) { this.userName = value; return this; }
public String getApiKey() { return apiKey; }
public AnalyticsLogInfo setApiKey(String value) { this.apiKey = value; return this; }
public String getIp() { return ip; }
public AnalyticsLogInfo setIp(String value) { this.ip = value; return this; }
}
}
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/GetAnalyticsInfo HTTP/1.1
Host: blazordiffusion.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
month: 0001-01-01,
type: String,
op: String,
apiKey: String,
userId: String,
ip: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { months: [ String ], result: { id: 0, dateTime: 0001-01-01, browser: String, device: String, bot: String, op: String, userId: String, userName: String, apiKey: String, ip: String }, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }