Sto costruendo un gioco di roulette per divertimento, e il gioco userà un'API RESTful. Sto costruendo la funzionalità per far girare la ruota della roulette.
Sto usando MongoDB e ho una collezione per giocatori
_id
username
balance
games
_id
game_name
last_bet_at
created_at
last_logged_in_at
created_at
e un'altra raccolta, player_game_logs , per tutti i giochi che si verificano nei giochi
_id
player_game_id
game_name
bets (object)
result (object)
win_amount
loss_amount
balance
ip_address
created_at
Non sono sicuro di come dovrebbe apparire il metodo RESTful API per dire al server di girare la ruota della roulette e registrare un log di gioco per il gioco. Ovviamente ho bisogno di postare contro una risorsa, e non sono sicuro di quale dovrebbe essere quella risorsa. Forse ho anche bisogno di una raccolta MongoDB aggiuntiva.
Ecco due metodi possibili che ho trovato ...
Metodo 1
POST /games/roulette/spin
request
{
bets: {
even: 1,
red: 1
}
}
response
{
balance: 156,
result: {
"color": "black",
"number": "31"
},
win_amount: 0,
lose_bets: {
even: 1,
red: 1
}
}
Metodo 2
POST /players/game_logs
request
{
player_game_id: 1234,
game_name: 'roulette',
bets: {
even: 1,
red: 1
}
}
response
{
player_game_id: 1234,
game_name: 'roulette',
result: {
color: 'black',
number: 10
},
win_amount: 0,
loss_amount: 2,
balance: 156
}
Preferisco il metodo 2. C'è qualcosa di sbagliato in questo metodo e quale potrebbe essere un approccio migliore?