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 AllCollectionTypes
{
public ArrayList<Integer> intArray = new ArrayList<Integer>();
public ArrayList<Integer> intList = new ArrayList<Integer>();
public ArrayList<String> stringArray = new ArrayList<String>();
public ArrayList<String> stringList = new ArrayList<String>();
public ArrayList<Float> floatArray = new ArrayList<Float>();
public ArrayList<Double> doubleList = new ArrayList<Double>();
public byte[] byteArray = new byte[]{};
public ArrayList<String> charArray = new ArrayList<String>();
public ArrayList<BigDecimal> decimalList = new ArrayList<BigDecimal>();
public ArrayList<Poco> pocoArray = new ArrayList<Poco>();
public ArrayList<Poco> pocoList = new ArrayList<Poco>();
public HashMap<String,ArrayList<Poco>> pocoLookup = new HashMap<String,ArrayList<Poco>>();
public HashMap<String,ArrayList<HashMap<String,Poco>>> pocoLookupMap = new HashMap<String,ArrayList<HashMap<String,Poco>>>();
public ArrayList<Integer> getIntArray() { return intArray; }
public AllCollectionTypes setIntArray(ArrayList<Integer> value) { this.intArray = value; return this; }
public ArrayList<Integer> getIntList() { return intList; }
public AllCollectionTypes setIntList(ArrayList<Integer> value) { this.intList = value; return this; }
public ArrayList<String> getStringArray() { return stringArray; }
public AllCollectionTypes setStringArray(ArrayList<String> value) { this.stringArray = value; return this; }
public ArrayList<String> getStringList() { return stringList; }
public AllCollectionTypes setStringList(ArrayList<String> value) { this.stringList = value; return this; }
public ArrayList<Float> getFloatArray() { return floatArray; }
public AllCollectionTypes setFloatArray(ArrayList<Float> value) { this.floatArray = value; return this; }
public ArrayList<Double> getDoubleList() { return doubleList; }
public AllCollectionTypes setDoubleList(ArrayList<Double> value) { this.doubleList = value; return this; }
public byte[] getByteArray() { return byteArray; }
public AllCollectionTypes setByteArray(byte[] value) { this.byteArray = value; return this; }
public ArrayList<String> getCharArray() { return charArray; }
public AllCollectionTypes setCharArray(ArrayList<String> value) { this.charArray = value; return this; }
public ArrayList<BigDecimal> getDecimalList() { return decimalList; }
public AllCollectionTypes setDecimalList(ArrayList<BigDecimal> value) { this.decimalList = value; return this; }
public ArrayList<Poco> getPocoArray() { return pocoArray; }
public AllCollectionTypes setPocoArray(ArrayList<Poco> value) { this.pocoArray = value; return this; }
public ArrayList<Poco> getPocoList() { return pocoList; }
public AllCollectionTypes setPocoList(ArrayList<Poco> value) { this.pocoList = value; return this; }
public HashMap<String,ArrayList<Poco>> getPocoLookup() { return pocoLookup; }
public AllCollectionTypes setPocoLookup(HashMap<String,ArrayList<Poco>> value) { this.pocoLookup = value; return this; }
public HashMap<String,ArrayList<HashMap<String,Poco>>> getPocoLookupMap() { return pocoLookupMap; }
public AllCollectionTypes setPocoLookupMap(HashMap<String,ArrayList<HashMap<String,Poco>>> value) { this.pocoLookupMap = value; return this; }
}
public static class Poco
{
public String name = null;
public String getName() { return name; }
public Poco setName(String value) { this.name = 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/AllCollectionTypes HTTP/1.1
Host: test.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
intArray:
[
0
],
intList:
[
0
],
stringArray:
[
String
],
stringList:
[
String
],
floatArray:
[
0
],
doubleList:
[
0
],
byteArray: AA==,
charArray:
[
],
decimalList:
[
0
],
pocoArray:
[
{
name: String
}
],
pocoList:
[
{
name: String
}
],
pocoLookup:
{
String:
[
{
name: String
}
]
},
pocoLookupMap:
{
String:
[
{
String:
{
name: String
}
}
]
}
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { intArray: [ 0 ], intList: [ 0 ], stringArray: [ String ], stringList: [ String ], floatArray: [ 0 ], doubleList: [ 0 ], byteArray: AA==, charArray: [ ], decimalList: [ 0 ], pocoArray: [ { name: String } ], pocoList: [ { name: String } ], pocoLookup: { String: [ { name: String } ] }, pocoLookupMap: { String: [ { String: { name: String } } ] } }