Creando una API simple basada en JSON usando Node.js

Las aplicaciones suelen utilizar los resultados de la API (interfaz de programación de aplicaciones), a veces para extraer información de sus enormes bases de datos, verificar el estado de un dato en particular o, a veces, dependen de API de terceros para mostrar información adicional relacionada con los usuarios.
Aquí crearemos una API de química pública simple basada en JSON, que se puede usar en cualquier lenguaje de programación para mostrar los resultados.

Pasos para crear la API:

  • Paso 1: Instale Node.js desde este enlace , según su sistema operativo y los requisitos del sistema.
  • Paso 2: inicialice una carpeta en blanco, en la que construiría la API. En esa carpeta, cree un archivo JS en blanco, llamado index.js
  • Paso 3: Abra el símbolo del sistema y vaya al directorio creado usando CD (ruta de la carpeta).
  • Paso 4: escriba npm inity siga los pasos, respondiendo a las preguntas formuladas.

Para construir la API de química, necesitaríamos crear un archivo JSON vacío y pegar los datos del enlace de datos de química . Ahora tenemos que incluir algunas bibliotecas de NodeJS y configurar el puerto para la API.

var fs = require('fs');
  
// json file with the data
var data = fs.readFileSync('chemistry.json');
  
var elements = JSON.parse(data);
const express = require("express");
const app = express();
  
// To solve the cors issue
const cors=require('cors');
   
app.listen(process.env.PORT, 
    () => console.log("Server Start at the Port"));
   
app.use(express.static('public'));
app.use(cors());

Diseño de los puntos finales de la API:

// when get request is made, alldata() is called
app.get('/elements', alldata);
  
function alldata(request, response) {
      
    // Returns all information about the elements
    response.send(elements);
}

Aquí, «/elements» es el punto final, y cuando se realiza una solicitud de obtención a la API, en el punto final de /elements, se llama a la función alldata(). Ahora la función alldata() tiene dos parámetros (solicitud y respuesta). Usando response.send(), la respuesta se devuelve al usuario.

app.get('/elements/:element/', searchElement);
  
function searchElement(request, response) {
    var word = request.params.element;
    word = word.charAt(0).toUpperCase()
        + word.slice(1).toLowerCase();
       
    if(elements[word]) {
        var reply = elements[word];         
    }
    else {
        var reply = {
            status:"Not Found"
        }
    }
       
    response.send(reply);
}

«/:elemento/» es el punto final de la variable, para requests relacionadas con cualquier elemento específico, como este https://chemistrydata.herokuapp.com/elements/Hydrogen

Combinó las tres secciones de código para crear index.jsun archivo.

Nombre de archivo: index.js

var fs = require('fs');
   
// json file with the data
var data = fs.readFileSync('chemistry.json');
   
var elements = JSON.parse(data);
const express = require("express");
const app = express();
   
// To solve the cors issue
const cors=require('cors');
    
app.listen(process.env.PORT, 
    () => console.log("Server Start at the Port"));
    
app.use(express.static('public'));
app.use(cors());
  
// when get request is made, alldata() is called
app.get('/elements', alldata);
   
function alldata(request, response) {
       
    // Returns all information about the elements
    response.send(elements);
}
  
app.get('/elements/:element/', searchElement);
  
function searchElement(request, response) {
    var word = request.params.element;
    word = word.charAt(0).toUpperCase()
        + word.slice(1).toLowerCase();
       
    if(elements[word]) {
        var reply = elements[word];         
    }
    else {
        var reply = {
            status:"Not Found"
        }
    }
       
    response.send(reply);
}

Ahora, todos pueden crear una API simple basada en JSON, cargar el código completo en GitHub y alojarlo en Heroku. Hemos incluido el enlace del repositorio de Github y los documentos de la API, siéntete libre de explorar el proyecto.

Enlace de repositorio de GitHub: https://github.com/Aanisha/ChemistryDataAPI

Documentación API: Enlace

Publicación traducida automáticamente

Artículo escrito por aanishabhattacharyya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *