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 .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/CreateProfile HTTP/1.1
Host: blazor-gallery.servicestack.net
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
role: Leader,
region: Africa,
username: String,
highScore: 0,
gamesPlayed: 0,
energy: 0,
profileUrl: String,
coverUrl: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { id: String, responseStatus: { errorCode: String, message: String, stackTrace: String, errors: [ { errorCode: String, fieldName: String, message: String, meta: { String: String } } ], meta: { String: String } } }