MyApp

<back to all web services

UpdateProfile

Game
package dtos

type PlayerRole string

const (
	PlayerRoleLeader    PlayerRole = "Leader"
	PlayerRolePlayer               = "Player"
	PlayerRoleNonPlayer            = "NonPlayer"
)

type PlayerRegion string

const (
	PlayerRegionAfrica      PlayerRegion = "Africa"
	PlayerRegionAmericas                 = "Americas"
	PlayerRegionAsia                     = "Asia"
	PlayerRegionAustralasia              = "Australasia"
	PlayerRegionEurope                   = "Europe"
)

type UpdateProfile struct {
	Id          int           `json:"id,omitempty"`
	Role        *PlayerRole   `json:"role,omitempty"`
	Region      *PlayerRegion `json:"region,omitempty"`
	Username    *string       `json:"username,omitempty"`
	HighScore   *int64        `json:"highScore,omitempty"`
	GamesPlayed *int64        `json:"gamesPlayed,omitempty"`
	// @Validate(Validator="InclusiveBetween(0,100)")
	Energy     *int    `json:"energy,omitempty"`
	ProfileUrl *string `json:"profileUrl,omitempty"`
	CoverUrl   *string `json:"coverUrl,omitempty"`
}

Go UpdateProfile DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /jsv/reply/UpdateProfile HTTP/1.1 
Host: blazor-gallery.servicestack.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	role: Leader,
	region: 0,
	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
		}
	}
}