Tartalomjegyzék

< Sails

Sails - REST API

Projekt készítése

REST API projekt készítése:

sails new app01 --no-frontend

A kimenet ehhez hasonló:

$ sails new app01
sails new app09 --no-frontend
 info: Installing dependencies...
Press CTRL+C to cancel.
(to skip this step in the future, use --fast)
 info: Created a new Sails app `app-09`!

A következő könyvtárszerkezet jön létre:

app01/
  |-api/
  |  |-controllers/
  |  |-helpers/
  |  |-models/
  |  `-policies/
  |-config/
  |  |-env/
  |  |  `-production.js
  |  |-locales/
  |  |  |-de.json
  |  |  |-en.json
  |  |  |-es.json
  |  |  `-fr.json
  |  |-blueprints.js
  |  |-bootstrap.js
  |  |-custom.js
  |  |-datastores.js
  |  |-globals.js
  |  |-http.js
  |  |-i18n.js
  |  |-local.js
  |  |-log.js
  |  |-models.js
  |  |-policies.js
  |  |-routes.js
  |  |-security.js
  |  |-session.js
  |  |-sockets.js
  |  `-views.js
  |-node_modules/
  |-app.js
  |-package.js
  |-package-lock.json
  `-README.md

EmployeesController

Az employees kontroller generálása:

sails generate api employees

Létrejön egy api/controllers/EmployeesController.js fájl.

api/controllers/EmployeesController.js
/**
 * EmployeesController
 *
 * @description :: Server-side actions for handling incoming requests.
 * @help        :: See https://sailsjs.com/docs/concepts/actions
 */
 
module.exports = {
 
 
};

Létrejön egy api/models/Employees.js fájl.

api/models/Employees.js
/**
 * Employees.js
 *
 * @description :: A model definition represents a database table/collection.
 * @docs        :: https://sailsjs.com/docs/concepts/models-and-orm/models
 */
 
module.exports = {
 
  attributes: {
 
    //  ╔═╗╦═╗╦╔╦╗╦╔╦╗╦╦  ╦╔═╗╔═╗
    //  ╠═╝╠╦╝║║║║║ ║ ║╚╗╔╝║╣ ╚═╗
    //  ╩  ╩╚═╩╩ ╩╩ ╩ ╩ ╚╝ ╚═╝╚═╝
 
 
    //  ╔═╗╔╦╗╔╗ ╔═╗╔╦╗╔═╗
    //  ║╣ ║║║╠╩╗║╣  ║║╚═╗
    //  ╚═╝╩ ╩╚═╝╚═╝═╩╝╚═╝
 
 
    //  ╔═╗╔═╗╔═╗╔═╗╔═╗╦╔═╗╔╦╗╦╔═╗╔╗╔╔═╗
    //  ╠═╣╚═╗╚═╗║ ║║  ║╠═╣ ║ ║║ ║║║║╚═╗
    //  ╩ ╩╚═╝╚═╝╚═╝╚═╝╩╩ ╩ ╩ ╩╚═╝╝╚╝╚═╝
 
  },
 
};

A model elkészítése

api/modles/Employees.js
/**
 * Employees.js
 *
 * @description :: A model definition represents a database table/collection.
 * @docs        :: https://sailsjs.com/docs/concepts/models-and-orm/models
 */
 
module.exports = {
 
  attributes: {
    name: 'string',
    city: 'string',
    salary: 'number'
  },
 
};

Indítás

A szerver indítása:

sails lift

Válasszuk az alter lehetőséget.

Lehetséges kimenet részlete:

 1. FOR DEV:      alter   wipe/drop and try to re-insert ALL my data (recommended)
 2. FOR TESTS:    drop    wipe/drop ALL my data every time I lift Sails
 3. FOR STAGING:  safe    don't auto-migrate my data. I will do it myself

 Read more: sailsjs.com/docs/concepts/models-and-orm/model-settings#?migrate
--------------------------------------------------------------------------------

What would you like Sails to do this time?
 ** NEVER CHOOSE "alter" or "drop" IF YOU ARE WORKING WITH PRODUCTION DATA **

prompt: ?:  alter

Megtekintés böngészőben

http://localhost:1337
http://localhost:1337/employees

A lehetséges eredmény:

[]

Alapértelmezett adatbázis

Az alapértelmezett adatbázis egy fejlesztői localdisk adatbázis a következő helyen:

.tmp/