Come dovrebbe essere il mio metodo RESTful API per una roulette?

0

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?

    
posta Chad Johnson 23.10.2014 - 22:01
fonte

1 risposta

1

Metodo 2: i log di gioco non sembrano essere un buon nome API. Prova e dai un nome migliore agli URI. Puoi utilizzare alcune delle funzionalità REST negli URL. Ad esempio puoi utilizzare URL come POST / giocatori / gioco / {ID_giochi}. Gli URL possono essere più specifici della risorsa.

    
risposta data 23.10.2014 - 22:29
fonte

Leggi altre domande sui tag