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 .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /csv/reply/StoreLogs HTTP/1.1
Host: test.servicestack.net
Accept: text/csv
Content-Type: text/csv
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/csv 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"}}}