import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;
public class dtos
{
public static class CreateProfile implements ICreateDb<Profile>
{
public PlayerRole role = null;
public PlayerRegion region = null;
@Validate(Validator="NotEmpty")
public String username = null;
public Long highScore = null;
public Long gamesPlayed = null;
@Validate(Validator="InclusiveBetween(0,100)")
public Integer energy = null;
public String profileUrl = null;
public String coverUrl = null;
public PlayerRole getRole() { return role; }
public CreateProfile setRole(PlayerRole value) { this.role = value; return this; }
public PlayerRegion getRegion() { return region; }
public CreateProfile setRegion(PlayerRegion value) { this.region = value; return this; }
public String getUsername() { return username; }
public CreateProfile setUsername(String value) { this.username = value; return this; }
public Long getHighScore() { return highScore; }
public CreateProfile setHighScore(Long value) { this.highScore = value; return this; }
public Long getGamesPlayed() { return gamesPlayed; }
public CreateProfile setGamesPlayed(Long value) { this.gamesPlayed = value; return this; }
public Integer getEnergy() { return energy; }
public CreateProfile setEnergy(Integer value) { this.energy = value; return this; }
public String getProfileUrl() { return profileUrl; }
public CreateProfile setProfileUrl(String value) { this.profileUrl = value; return this; }
public String getCoverUrl() { return coverUrl; }
public CreateProfile setCoverUrl(String value) { this.coverUrl = value; return this; }
}
public static enum PlayerRole
{
Leader,
Player,
NonPlayer;
}
public static enum PlayerRegion
{
Africa(1),
Americas(2),
Asia(3),
Australasia(4),
Europe(5);
private final int value;
PlayerRegion(final int intValue) { value = intValue; }
public int getValue() { return value; }
}
@DataContract
public static class IdResponse
{
@DataMember(Order=1)
public String id = null;
@DataMember(Order=2)
public ResponseStatus responseStatus = null;
public String getId() { return id; }
public IdResponse setId(String value) { this.id = value; return this; }
public ResponseStatus getResponseStatus() { return responseStatus; }
public IdResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/CreateProfile HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CreateProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/MyApp.ServiceModel">
<CoverUrl>String</CoverUrl>
<Energy>0</Energy>
<GamesPlayed>0</GamesPlayed>
<HighScore>0</HighScore>
<ProfileUrl>String</ProfileUrl>
<Region>Africa</Region>
<Role>Leader</Role>
<Username>String</Username>
</CreateProfile>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <IdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types"> <Id>String</Id> <ResponseStatus> <ErrorCode>String</ErrorCode> <Message>String</Message> <StackTrace>String</StackTrace> <Errors> <ResponseError> <ErrorCode>String</ErrorCode> <FieldName>String</FieldName> <Message>String</Message> <Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d5p1:KeyValueOfstringstring> <d5p1:Key>String</d5p1:Key> <d5p1:Value>String</d5p1:Value> </d5p1:KeyValueOfstringstring> </Meta> </ResponseError> </Errors> <Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <d3p1:KeyValueOfstringstring> <d3p1:Key>String</d3p1:Key> <d3p1:Value>String</d3p1:Value> </d3p1:KeyValueOfstringstring> </Meta> </ResponseStatus> </IdResponse>