Düğümdeki Yeniden KullanımA Alma API'leri için Yeni Başlayanlar Kılavuzu.js

Düğümdeki Yeniden KullanımA Alma API'leri için Yeni Başlayanlar Kılavuzu.js

REST (Temsili Durum Aktarımı) API’si (kimi zaman RESTful AP olarak da adlandırılır), kaynaklara erişmek ve bu tarz şeyleri kullanmak için HTTP isteklerini kullanan bir API’dir.

Bu kaynaklar çoğu zaman JSON biçiminde temsil edilir, sadece bazı durumlarda XML, metin ve HTML biçimi kullanılır. REST API’leri, uygulamaların GET, PUT, POST ve DELETE şeklinde HTTP şekilleri vesilesiyle ağ üstünden veri alışverişi yapması için standart bir yol haline gelmiştir. Çoğu zaman CRUD işlemleri olarak adlandırılan kaynakları oluşturmayı, okumayı, güncelleştirmeyi ve silmeyi kolaylaştırırlar.

Bu kılavuz, kolay bir CRUD Restful API oluşturmak için Node.JS’ı iyi mi kullanabileceğinizi araştırır.

Takip Etmeniz Gerekenler

Düğüm.js mahalli makinenizde yüklü olduğundan güvenilir olun. Koşmak düğüm -v Düğüm.JS yüklü olup olmadığını denetlemek için. Bu komut sürüm numarasını döndürmelidir.

İlgili: Windows’a Düğüm.js Iyi mi Yüklenir

Ek olarak, en sevdiğiniz metin düzenleyicisinin (mesela VS Kodu) çalışan bir örneğine haiz olmalısınız.

Proje Kurulumu

Uygulamanız için bir klasör oluşturun ve bu klasöre gidin. Terminalde ve yeni oluşturduğunuz dizinde, paket.json çalıştırarak npm init.

$ npm init -y 

Bu, bir sonraki paket.json npm paketlerini yüklemenize ve yönetmenize destek sunar. Bu, bir sonraki -y flag, tek tek ayrıntıları ayarlamanıza gerek kalmadan varsayılan seçenekleri kullanarak package.json dosyasını oluşturur. Terminalinizdeki çıktı bu şekilde görünmelidir. Klasörünüze ne adlandırdığınıza bağlı olarak adın değişik olacağını ihmal etmeyin.

Sunucuyu Ayarlama

Sunucu oluşturmak için ilkin Express.js ve Nodemon’u yükleyin. Express.js, web uygulamalarının ve API’lerin geliştirilmesini kolaylaştırmak için tasarlanmış bir Node.Js çerçevesidir. Sunucuyu ve API uç noktalarını yapılandırmak için kullanacaksınız. Öte taraftan Nodemon, uygulama kodunuz değiştiğinde sunucunuzu tekrardan başlatacak bir geliştirme aracıdır.

Yüklemek için aşağıdaki komutu çalıştırın ekspres ve nodemon:

npm i express nodemon 

Peşinden, sunucunuzu oluşturmak için bir dosya oluşturun ve sunucu.js peşinden aşağıdaki kodu ilave edin.

// Require express
const express = require("express");
// Initialize express
const app = express();
const PORT = 8080;
// parse JSON
app.use(express.json());
// parse URL encoded data
app.use(express.urlencoded({ extended: true }));
// create a server
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});

Yukarıdaki kodda, sunucu.js dosyasını açın ve başlatın. Peşinden, JSON ve URL kodlanmış verileri ayrıştırmak için ekspresi yapılandırın. Son olarak, dinle() yöntemiyle ifade edin.

İlgili: Express.js Nedir ve Niçin Kullanmalısınız?

Başlarken: Kullanıcı Verilerini Depolamak için Dizi Oluşturma

Basitlik amacıyla, bir veritabanı değil, kolay bir kullanıcı dizisi kullanacaksınız. Uygulamanızda.js, URL kodlanmış verileri ayrıştıran satırdan sonrasında aşağıdaki kodu ilave edin.

const users = ({
id: 1,
name: "Jane Doe",
age: "22",
},
{
id: 2,
name: "John Doe",
age: "31",
});

İlgili: MongoDB’de Veritabanı ve Koleksiyon Iyi mi Oluşturulur

Express’te Rotalar Iyi mi Kurulur.js

Verilerinizde işlem gerçekleştirmek için yönlendirmeyi ayarlamanız gerekir. Yollar, uygulamanızın belirli bir uç noktaya meydana getirilen isteklere iyi mi cevap vereceğini belirler. Her yolun bir HTTP yöntemi, bir URL’si ve HTTP isteğini ve yanıtını işleyen bir işleyici işlevi vardır. Rotaları ayarlamak için aşağıdakileri sunucu.js dosyanızdan sonrasında Kullanıcı dizi.

app.post('/create', (req, res) => {
// Create a user
});
app.get('/users', (req, res) => {
// Retrieves all users
});
app.get('/user/:userID', (req, res) => {
// Returns a user by ID
});
app.put('/user/:userID', (req, res) => {
// Update a user by ID
});
app.delete('/delete/:userID', (req, res) => {
// Delete a user by ID
});
app.delete('/users', (req, res) => {
// Delete all users
});

Node.Js’de CRUD İşlemleri Iyi mi Gerçekleştirilir

Kullanıcı verilerini işleyecek ve eşleşen rotaya gore bir cevap döndürecek işlevleri oluşturmanız gerekir. Bu işlevler kullanıcı verilerini oluşturur, okur, güncelleştirir ve siler.

İlgili: MongoDB’de CRUD Operasyonları Iyi mi Yapılır

Yeni Kullanıcı Iyi mi Oluşturulur

Yeni bir kullanıcı oluşturmak için şunları yapmanız gerekir:

  • İstek gövdesinin boş olup olmadığını denetleyin;
  • Kullanıcı verilerini talep gövdesinden ayıklayın.
  • Kullanıcı verilerini doğrulayın.
  • Kullanıcı verilerini diziye itin.

Bir diziyi yalnızca basitlik amacıyla kullandığınızı ihmal etmeyin. Gerçek bir durum senaryosunda, bir veritabanıyla etkileşimde olacaksınız.

POST rotanızı aşağıdaki şeklinde düzenleyin.

app.post("/create", (req, res) => {
// Check if request body is empty
if (!Object.keys(req.body).length) {
return res.status(400).json({
message: "Request body cannot be empty",
});
}
// Use object destructuring to get name and age
const { name, age } = req.body;
if (!name || !age) {
res.status(400).json({
message: "Ensure you sent both name and age",
});
}
const newUser = {
id: users.length + 1,
name,
age,
};
try {
users.push(newUser);
res.status(201).json({
message: "Successfully created a new user",
});
} catch (error) {
res.status(500).json({
message: "Failed to create user",
});
}
});

Kullanıcılar Iyi mi Okunması mümkün

Tüm kullanıcıları almak için, yanıtınızda kullanıcılar dizisini döndürün.

app.get("/users", (req, res) => {
try {
res.status(200).json({
users
});
} catch (error) {
res.status(500).json({
message: "Failed to retrieve all users",
});
}
});

Postacı kullanarak bu yolu sınarsanız, cevap gövdesindeki kullanıcı dizisini almalısınız.

GET isteğinden REST API'sine yanıt gösteren postacı ekran görüntüsü

Yalnızca bir kullanıcıyı almak için:

  • URL parametresinden kullanıcı kimliğini alın.
  • Kullanmak bul() hangi kullanıcı verilerini istediğinizi belirlemek için.
  • Yanıtta kullanıcıyı döndürün.
app.get("/users/:userID", (req, res) => {
const id = parseInt(req.params.userID);
console.log(id);
try {
let user = users.find((user) => user.id === id);
if (!user) {
return res.status(404).json({
message: "User not found",
});
}
res.status(200).json({
user,
});
} catch (error) {
res.status(500).json({
message: "Failed to retrieve user",
});
}
});

Kullanıcılar Iyi mi Güncelleştirilir

Kullanıcıyı güncelleştirmek için:

  • URL’den kullanıcı kimliğini alın.
  • Kullanmak bul() kullanıcının var olup olmadığını denetlemek için.
  • Kullanmak indexOf() başvurulan kullanıcının dizinini almak için.
  • İstek gövdesi vesilesiyle gönderilen verilerle kullanıcı verilerini düzenlemek için dizini kullanın.
app.put("/users/:userID", (req, res) => {
try {
const id = parseInt(req.params.userID);
let user = users.find((user) => user.id === id);
if (!user) {
return res.status(404).json({
message: "User not found",
});
}
const userIDX = users.indexOf(user);
users(userIDX).name = req.body.name || users(userIDX).name;
users(userIDX).age = req.body.age || users(userIDX).age;
res.status(200).json({
message: "Successfully updated user",
user,
});
} catch (error) {
res.status(500).json({
message: "Failed to retrieve user",
});
}
});

Kullanıcılar Iyi mi Silinir?

Bir kullanıcıyı yada tüm kullanıcıları silmeyi seçebilirsiniz.

Bir kullanıcıyı silmek için:

  • URL’den kullanıcı kimliğini alma
  • Kullanmak bul() kullanıcının var olup olmadığını denetlemek için
  • Kullanmak findIndex() başvurulan kullanıcının dizinini almak için.
  • Kullanmak splice() bu dizinde kullanıcıyı silmek için.
app.delete("/users/:userID", (req, res) => {
try {
const id = req.params.userID;
let userIDX = users.findIndex((user) => user.id === id);
if (!userIDX) {
res.status(404).json({
message: "User not found",
});
}
users.splice(userIDX, 1);
res.status(200).json({
message: "Successfully deleted user",
users,
});
} catch (error) {
res.status(500).json({
message: "Failed to delete user",
});
}
});

Tüm kullanıcıları silmek için tüm diziyi bire tek tek edin.

app.delete("/users", (req, res) => {
try {
users.splice(0, users.length);
res.status(200).json({
message: "Successfully deleted all users",
users,
});
} catch (error) {
res.status(500).json({
message: "Failed to delete users",
x,
});
}
});

RESTful API’ler hakkında daha çok informasyon edinin

Bu öğreticide, Düğüm.JS temel bir RESTful API’sinin iyi mi oluşturulacağı anlatılmaktadır. Bir Express sunucusu oluşturmayı, yollar ayarlamayı ve son olarak HTTP istekleri/yanıtları vesilesiyle verilerinizle etkileşimde bulunabilecek işleyici işlevleri oluşturmayı öğrendiniz.

Bununla beraber, uygulamanızı MongoDB şeklinde bir veritabanına iyi mi bağlayacağınız ve rotaları iyi mi güvence altına alacağım da dahil olmak suretiyle daha çok araştırmanız ihtiyaç duyulan bazı mühim mevzular burada ele alınmaz.

Yorum Yap
0 Yorum yapan