import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
import com.google.gson.annotations.*;
import com.google.gson.reflect.*;
public class dtos
{
public static class StoreLogs
{
public ArrayList<Logger> loggers = new ArrayList<Logger>();
public ArrayList<Logger> getLoggers() { return loggers; }
public StoreLogs setLoggers(ArrayList<Logger> value) { this.loggers = value; return this; }
}
public static class Logger
{
public Long id = null;
public ArrayList<Device> devices = new ArrayList<Device>();
public Long getId() { return id; }
public Logger setId(Long value) { this.id = value; return this; }
public ArrayList<Device> getDevices() { return devices; }
public Logger setDevices(ArrayList<Device> value) { this.devices = value; return this; }
}
public static class Device
{
public Long id = null;
public String type = null;
public Long timeStamp = null;
public ArrayList<Channel> channels = new ArrayList<Channel>();
public Long getId() { return id; }
public Device setId(Long value) { this.id = value; return this; }
public String getType() { return type; }
public Device setType(String value) { this.type = value; return this; }
public Long getTimeStamp() { return timeStamp; }
public Device setTimeStamp(Long value) { this.timeStamp = value; return this; }
public ArrayList<Channel> getChannels() { return channels; }
public Device setChannels(ArrayList<Channel> value) { this.channels = value; return this; }
}
public static class Channel
{
public String name = null;
public String value = null;
public String getName() { return name; }
public Channel setName(String value) { this.name = value; return this; }
public String getValue() { return value; }
public Channel setValue(String value) { this.value = value; return this; }
}
public static class StoreLogsResponse
{
public ArrayList<Logger> existingLogs = new ArrayList<Logger>();
public ResponseStatus responseStatus = null;
public ArrayList<Logger> getExistingLogs() { return existingLogs; }
public StoreLogsResponse setExistingLogs(ArrayList<Logger> value) { this.existingLogs = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public StoreLogsResponse setResponseStatus(ResponseStatus value) { this.responseStatus = 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/StoreLogs HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
loggers:
[
{
id: 0,
devices:
[
{
id: 0,
type: String,
timeStamp: 0,
channels:
[
{
name: String,
value: String
}
]
}
]
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { existingLogs: [ { id: 0, devices: [ { id: 0, type: String, timeStamp: 0, channels: [ { name: String, value: String } ] } ] } ], responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }