REST (Temsili Durum Aktarımı) API'si (bazen RESTful AP olarak da adlandırılır), kaynaklara erişmek ve bunları kullanmak için HTTP isteklerini kullanan bir API'dir.

Bu kaynaklar genellikle JSON biçiminde gösterilir, ancak bazı durumlarda XML, metin ve HTML biçimi kullanılır. REST API'leri, uygulamaların GET, PUT, POST ve DELETE gibi HTTP yöntemleri aracılığıyla bir ağ üzerinden veri alışverişi yapması için standart bir yol haline geldi. Genellikle CRUD işlemleri olarak adlandırılan kaynakların oluşturulmasını, okunmasını, güncellenmesini ve silinmesini kolaylaştırırlar.

Bu kılavuz, Node.js'yi nasıl kullanabileceğinizi araştırıyor. Basit bir CRUD Restful API oluşturmak için JS.

Takip Etmeniz Gerekenler

Yerel makinenizde Node.js'nin kurulu olduğundan emin olun. Çalıştırmak -v düğümü Düğüm olup olmadığını kontrol etmek için. JS kurulur. Bu komut, sürüm numarasını döndürmelidir.

İlişkili: Windows'ta Node.js Nasıl Kurulur

Ayrıca favorinizin çalışan bir örneğine sahip olmalısınız. Metin düzeltici (ör. VS Kodu).

instagram viewer

Proje Kurulumu

Uygulamanız için bir klasör oluşturun ve ona gidin. Terminalde ve az önce oluşturduğunuz dizinde, başlat paket.json koşarak npm başlangıç.

$ npm başlangıç ​​-y 

bu paket.json npm paketlerini kurmanıza ve yönetmenize yardımcı olacaktır. bu -y flag, ayrı ayrıntıları ayarlamanıza gerek kalmadan varsayılan seçenekleri kullanarak package.json dosyasını oluşturur. Terminalinizdeki çıktı şöyle görünmelidir. Klasörünüze ne ad verdiğinize bağlı olarak adın farklı olacağını unutmayın.

Sunucuyu Kur

Bir sunucu oluşturmak için önce Express.js ve Nodemon'u yükleyin. Express.js bir Düğümdür. Web uygulamalarının ve API'lerin geliştirilmesini kolaylaştırmak için tasarlanmış Js çerçevesi. için kullanacaksın sunucuyu yapılandır ve API uç noktaları. Nodemon ise uygulama kodunuz değiştiğinde sunucunuzu yeniden başlatacak bir geliştirme aracıdır.

Yüklemek için aşağıdaki komutu çalıştırın ifade etmek ve düğüm:

npm nodemon'u ifade ediyorum 

Ardından, sunucunuzu oluşturmak için bir dosya oluşturun ve onu arayın server.js ardından aşağıdaki kodu ekleyin.

// Ekspres gerektir
const ifade = gerekli ("ekspres");
// Express'i başlat
const uygulama = ekspres();
const PORT = 8080;
// JSON'u ayrıştır
app.use (express.json());
// URL kodlu verileri ayrıştır
app.use (express.urlencoded({ genişletilmiş: true }));
// bir sunucu oluştur
app.listen (PORT, () => {
konsol.log(`Sunucu ${PORT} portunda çalışıyor`);
});

Yukarıdaki kodda, ifadenizde gerektirir server.js dosyasını açın ve başlatın. Ardından, JSON ve URL kodlu verileri ayrıştırmak için express'i yapılandırın. Son olarak, kullanarak bir sunucu oluşturun. dinlemek() Express'ten yöntem.

İlişkili: Express.js Nedir ve Neden Kullanmalısınız?

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

Basitlik amacıyla, bir veritabanı değil, basit bir kullanıcı dizisi kullanacaksınız. app.js'nizde, URL kodlu verileri ayrıştıran satırın sonuna aşağıdaki kodu ekleyin.

const kullanıcılar = [{
kimlik: 1,
isim: "Jane Doe",
yaş: "22",
},
{
kimlik: 2,
isim: "John Doe",
yaş: "31",
}];

İlişkili: MongoDB'de Veritabanı ve Koleksiyon Nasıl Oluşturulur

Express.js'de Rotalar Nasıl Kurulur

Verileriniz üzerinde işlem yapmak için yönlendirmeyi ayarlamanız gerekir. Rotalar, uygulamanızın belirli bir uç noktaya yapılan isteklere nasıl yanıt vereceğini belirler. Her rotanın 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 server.js senden sonra dosya kullanıcılar sıralamak.

app.post('/create', (gerekli, res) => {
// Bir kullanıcı oluştur
});
app.get('/users', (gerekli, res) => {
// Tüm kullanıcıları alır
});
app.get('/user/:userID', (req, res) => {
// Bir kullanıcıyı kimliğe göre döndürür
});
app.put('/user/:userID', (req, res) => {
// Bir kullanıcıyı kimliğe göre güncelle
});
app.delete('/delete/:userID', (req, res) => {
// Bir kullanıcıyı kimliğe göre sil
});
app.delete('/users', (req, res) => {
// Tüm kullanıcıları sil
});

Node.js'de CRUD İşlemleri Nasıl Gerçekleştirilir? J'ler

Kullanıcı verilerini manipüle edecek ve eşleşen rotaya göre bir yanıt döndürecek işlevleri oluşturmanız gerekir. Bu işlevler kullanıcı verilerini oluşturur, okur, günceller ve siler.

İlişkili: MongoDB'de CRUD İşlemleri nasıl yapılır?

Yeni Bir Kullanıcı Nasıl Oluşturulur

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

  • İstek gövdesinin boş olup olmadığını kontrol edin; boşsa bir hata yanıtı gönderin.
  • Kullanıcı verilerini istek gövdesinden çıkarın.
  • Kullanıcı verilerini doğrulayın.
  • Kullanıcı verilerini diziye aktarın.

Bir diziyi yalnızca basitlik amacıyla kullandığınızı unutmayın. Gerçek bir durum senaryosunda, bir veritabanıyla etkileşime girersiniz.

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

app.post("/create", (gerekli, res) => {
// İstek gövdesinin boş olup olmadığını kontrol edin
if (!Object.keys (req.body).length) {
dönüş res.status (400).json({
mesaj: "İstek gövdesi boş olamaz",
});
}
// İsim ve yaş almak için nesne imhasını kullanın
const { isim, yaş } = gerekli gövde;
if (!name || !yaş) {
res.status (400).json({
mesaj: "Hem isim hem de yaş gönderdiğinizden emin olun",
});
}
const yeniKullanıcı = {
kimlik: kullanıcılar.uzunluk + 1,
isim,
yaş,
};
denemek {
users.push (yeniKullanıcı);
res.status (201).json({
mesaj: "Yeni bir kullanıcı başarıyla oluşturuldu",
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Kullanıcı oluşturulamadı",
});
}
});

Kullanıcılar Nasıl Okunur?

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

app.get("/users", (req, res) => {
denemek {
res.status (200).json({
kullanıcılar
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Tüm kullanıcılar alınamadı",
});
}
});

Bu rotayı postacı kullanarak test ederseniz, yanıt gövdesinde kullanıcı dizisini almanız gerekir.

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

  • URL parametresinden kullanıcı kimliğini alın.
  • Kullanmak bulmak() hangi belirli kullanıcı verilerini talep ettiğinizi belirlemek için.
  • Kullanıcıyı yanıtta döndürün.
app.get("/users/:userID", (req, res) => {
const id = ayrıştırma (req.params.userID);
konsol.log (kimlik);
denemek {
let user = users.find((user) => user.id id);
if (!kullanıcı) {
dönüş res.status (404).json({
mesaj: "Kullanıcı bulunamadı",
});
}
res.status (200).json({
kullanıcı
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Kullanıcı alınamadı",
});
}
});

Kullanıcılar Nasıl Güncellenir

Kullanıcıyı güncellemek için:

  • URL'den kullanıcı kimliğini alın.
  • Kullanmak bulmak() kullanıcının var olup olmadığını kontrol etmek için.
  • Kullanmak indeksi() başvurulan kullanıcının dizinini almak için.
  • İstek gövdesi aracılığıyla gönderilen verilerle kullanıcı verilerini düzenlemek için dizini kullanın.
app.put("/users/:userID", (req, res) => {
denemek {
const id = ayrıştırma (req.params.userID);
let user = users.find((user) => user.id id);
if (!kullanıcı) {
dönüş res.status (404).json({
mesaj: "Kullanıcı bulunamadı",
});
}
const userIDX = users.indexOf (kullanıcı);
kullanıcılar[userIDX].name = istek.body.name || kullanıcılar[userIDX].name;
kullanıcılar[userIDX].age = req.body.age || kullanıcılar[userIDX].age;
res.status (200).json({
mesaj: "Kullanıcı başarıyla güncellendi",
kullanıcı
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Kullanıcı alınamadı",
});
}
});

Kullanıcılar Nasıl Silinir

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

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

  • URL'den kullanıcı kimliğini alın
  • Kullanmak bulmak() kullanıcının var olup olmadığını kontrol etmek için
  • Kullanmak bulIndex() başvurulan kullanıcının dizinini almak için.
  • Kullanmak ekleme() bu dizindeki kullanıcıyı silmek için.
app.delete("/users/:userID", (gerekli, res) => {
denemek {
const id = req.params.userID;
let userIDX = users.findIndex((user) => user.id kimliği);
if (!userIDX) {
res.status (404).json({
mesaj: "Kullanıcı bulunamadı",
});
}
users.splice (userIDX, 1);
res.status (200).json({
mesaj: "Kullanıcı başarıyla silindi",
kullanıcılar,
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Kullanıcı silinemedi",
});
}
});

Tüm kullanıcıları silmek için tüm diziyi birleştirin.

app.delete("/users", (req, res) => {
denemek {
users.splice (0, kullanıcılar.uzunluk);
res.status (200).json({
mesaj: "Tüm kullanıcılar başarıyla silindi",
kullanıcılar,
});
} yakalama (hata) {
res.status (500).json({
mesaj: "Kullanıcılar silinemedi",
x,
});
}
});

RESTful API'ler Hakkında Daha Fazla Bilgi Edinin

Bu öğreticide, Node.js'de temel bir RESTful API'nin nasıl oluşturulacağı anlatılmaktadır. JS. Bir Express sunucusunun nasıl oluşturulacağını, rotaların nasıl kurulacağını ve son olarak HTTP istekleri/yanıtları aracılığıyla verilerinizle etkileşime giren işleyici işlevlerinin nasıl oluşturulacağını öğrendiniz.

Bununla birlikte, uygulamanızı MongoDB gibi bir veritabanına nasıl bağlayacağınız ve yolların nasıl güvenli hale getirileceği de dahil olmak üzere, burada daha fazla araştırmanız gereken bazı temel konular vardır.

Bir MongoDB Veritabanı Verilerinizi Nasıl Daha İyi Düzenleyebilir?

MongoDB ("humongous" dan) MySQL'e alternatif olarak kullanılan, platformlar arası belge odaklı bir veritabanıdır. Ama bu ne anlama geliyor?

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Programlama
  • JavaScript
  • API
Yazar hakkında
Mary Gathoni (2 Makale Yayınlandı)

Mary Gathoni, yalnızca bilgilendirici değil aynı zamanda ilgi çekici teknik içerik yaratma tutkusuna sahip bir yazılım geliştiricisidir. Kod yazmadığı veya yazmadığı zamanlarda arkadaşlarıyla takılmaktan ve dışarıda olmaktan hoşlanıyor.

Mary Gathoni'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın