Il modo migliore per creare un'API JSON accoppiata con viste HTML in un progetto Rails

3

Ho un progetto di eCommerce di Rails che comunica con un'app per iOS. L'app per iOS riceve i dati JSON dal back-end di Rails, ma c'è anche il rendering HTML quando un utente arriva al progetto dal suo browser. Fondamentalmente chiamano le stesse azioni (create, destroy, update, ecc.) Da entrambi i lati.

/website/my_action → rendering HTML
/website/my_action.json → API

Qual è il modo migliore per organizzare la nostra app Rails per rimanere ASCIUTTI ed evitare l'odore di codice / codice disordinato? Il progetto utilizza attualmente respond_to molto, ma mi chiedo se non dovremmo passare a un sistema diviso con la risposta default json :

/api/v1/my_action
/website/my_action

E se sì, come faresti concretamente?

Ecco un esempio di un metodo nel sistema corrente

  def get_following

    @user = User.find(params[:id]) 

    respond_to do |format|
      format.html { render :index }
      format.json { render :json => ApiFormat.success(:followers, user.following) }
    end

  end

Sembra bello ma diventa molto disordinato in alcuni metodi che preferisco non mostrare. In breve: come faresti a riutilizzare il progetto in un modo più efficiente?

    
posta Laurent 26.04.2016 - 11:47
fonte

0 risposte

Leggi altre domande sui tag