Come posso trasformare la mia applicazione di database CRUD in un'applicazione REST?

1

Potrei essermi confuso, leggendo CRUD vs REST e come sono simili, quindi volevo chiedere esplicitamente: posso trasformare la mia applicazione CRUD in un'applicazione REST, quando ho uno scenario specifico, e lo farò essere di alcun beneficio?

La mia applicazione CRUD esistente utilizza dati in una tabella MySQL che è per lo più passiva, ma di volta in volta deve essere aggiornata. Nel mio caso i dati rappresentano varie dimensioni e specifiche di un motore che vengono modificati o corretti di volta in volta. Esiste anche un caso d'uso simile ma "più in alto nel concetto" in cui invece di modificare i dati sul posto, viene eseguita la versione e vengono conservati i record storici. Vale a dire che l'attuale "riga" di dati viene prima disattivata, ma viene comunque lasciata nel database e una nuova riga di dati viene aggiunta con un nuovo numero di versione, che viene quindi reso attivo. I nuovi dati vengono quindi letti per eventuali futuri calcoli motori.

Il CRUD ha le seguenti parti: * Modulo HTML, che invia i dati di trasferimento a uno script "aggiungi / modifica", che reindirizza allo script "visualizza" che mostra i dati aggiunti / aggiornati.

Non ho la minima idea di come convertire questo in un'applicazione REST o se ne ho bisogno, o in questo modo renderà la mia vita o la vita di qualcuno migliore.

Posso avere un esempio più concreto di cosa significherà convertire il mio caso d'uso particolare da CRUD a REST? Dovrò modificare URL, interfacce, gestione degli eventi, ecc.

    
posta Dennis 13.09.2018 - 18:00
fonte

1 risposta

3

CRUD è un termine che si riferisce alle quattro attività più utilizzate nelle applicazioni orientate ai dati: Crea (Aggiungi, Nuovo), Leggi ( Get, GetList), Aggiorna (Modifica), Elimina (Rimuovi). In termini di Database, il CRUD esegue la mappatura di Inserisci , Seleziona , Aggiorna & Elimina comandi SQL-DML (lingua di manipolazione dei dati).

REST (Representational State Transfer) è un termine utilizzato in Sviluppo applicazioni Web che specifica le caratteristiche o le restrizioni che Servizi RESTFul HTTP devono tenere conto: (1) < strong> Client-Server , (2) Stateless , (3) Cachebile , (4) Interfaccia uniforme & (5) Sistema su più livelli , (6) Codice su richiesta .

Un'architettura a strati ben strutturata per le app Web la maggior parte delle volte include tre livelli, Fronted , Middleware & Backend . I servizi REST possono essere creati sul middleware o direttamente nel backend. Supponiamo ad esempio che tu stia pensando di costruire la tua app su Strong Standard Frameworks , supponiamo che il Frontend sarà costruito usando Googles Angular JS , I servizi middleware verranno creati utilizzando Node JS & Express JS e Backend si affideranno a API Web .NET .

REST utilizza i verbi HTTP per mappare le operazioni CRUD : GET (Leggi), POST (Crea), Put (Aggiorna) & Elimina (Elimina). La chiave qui è che i servizi RESTful compatibili utilizzano i verbi HTTP per eseguire l'operazione CRUD . Nel lato Frontend, il codice JavaScript per il consumo del servizio REST può essere simile a:

angular.module('RESTApp', [])
.controller('CtrlUsers', function($scope, $http) {
    $http.get('http://appdomain.restAPI/users', {id: 1}).
        then(function(response) {
            $scope.data = response.data;
        });
});

Infine, i modelli strutturali più recenti per definire le applicazioni a livelli utilizzano Controller vista modello ( modello MVC, Spring MVC, PHP Laravel , ...). Nel caso di accesso ai dati, ben sapete che i ORMs Frameworks come .Net Entity Framework o Hibernate vengono utilizzati per accedere ai database relazionali. Tutte queste cose devono essere comprese al fine di design & costruire applicazioni RESTful ben formate .

    
risposta data 14.09.2018 - 08:12
fonte

Leggi altre domande sui tag