2013-07-30 3 views
0

Я делаю браузерную игру, она полностью основана на AJAX, поэтому я пытаюсь создать правильный RESTful API. Итак, у меня есть модель User (в основном, User имеет оружие, здоровье и пункты действия).
Итак, у меня есть ресурс users. Теперь я хочу реализовать атаки пользователей.
Сценарий: пользователь с id = 1 атакует пользователя с id = 2.
Что бы я сделал это так:Как бы это было написано с помощью REST?

  1. Отправить следующую информацию (с POST-запрос):
    • target_id (ну, он хранится в ApplicationController от сессии)
    • attacker_id
    • weapon_id (атакующий злоумышленник использует для атаки своей цели)
      до /users/attacker_id/attack/
  2. Подтвердите, есть ли у пользователя достаточное количество очков действия и здоровье для атаки, если цель еще не мертва. Если эти условия терпят неудачу - ничего не делайте, если они преуспевают - уменьшайте атаки и боеприпасы атакующих, уменьшите цель HP. Все это делается в модельном методе attack для злоумышленника.

Правильно ли это в целом или есть лучший способ Rails?
Спасибо!

ответ

1

REST действительно имеет наибольший смысл, когда то, что вы делаете, основано на ресурсах CRUD-взаимодействий. В этом случае вы действительно не делаете этого - вы можете концептуально заставить его соответствовать, но я думаю, вы в конечном итоге добавили ненужную и неинтуитивную сложность.

Я бы сказал, что вы просто не используете REST. Просто выполните действие атаки, которое принимает параметры и делает все остальное.

Смежные вопросы