- Mesajlar
- 1,083
Merhaba arkadaslar
Bütün platformlardan veri tabanı gibi birçok şeye ulaşıp işlem yapabilmeniz için core wen api kullanabilirsiniz.
Maarif-i Cedid
c# Web
Restful Http Get, Post, Put ve Delete İşlemlerini Visual Studio 2022 Programıyla Gerçekleştirme
Daha önceki derslerimizde RESTful API yapısının temel kavramlarını öğrenmiştik. Bu derste ise REST mimarisinde kullanılan temel HTTP yöntemlerini (GET, POST, PUT, DELETE) Visual Studio 2022 üzerinde adım adım uygulayacağız.
Microsoft, .NET Core ile birlikte geliştiricilere platformdan bağımsız, hızlı ve esnek RESTful API ortamı sunmaktadır.
Bu yapı, klasik Web Service mantığının modern ve JSON tabanlı halidir.
Visual Studio 2022, bu mimariyi en kolay şekilde hayata geçirmenizi sağlar.
Öncelikle projemizi oluşturalım.
Visual Studio 2022’yi açalım.
File > New > Project menüsüne gelelim.
Arama kutusuna “ASP.NET Core Empty” yazalım ve şablonu seçalim.
Proje adını UserManagement.Api, solution adını UserManagement olarak belirleyelim.
Framework olarak .NET 9.0 seçelim.
HTTPS seçeneğini kapatalım(HTTP5 kutucuğunu kaldırın).
Create butonuna tıklayıp projeyi oluşturalım.
Program.cs dosyasını açalım ve aşağıdaki gibi düzenleyelim.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.MapControllers();
app.Run();
Burada yaptığımız ayarlar sayesinde RESTful yapıda Controller tabanlı çalışmayı aktifleştirmiş olduk. Şimdi projenin kök dizininde Controllers adında bir klasör oluşturalım. Bu klasörün içine UsersController.cs adlı bir sınıf ekleyelim.
using Microsoft.AspNetCore.Mvc;
namespace UserManagement.Api.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
[HttpGet]
public string Get()
{
return "Kullanıcıları getir";
}
}
}
Projemizi çalıştıralım. Tarayıcıda https://localhost:5001/api/users adresini çalıştırdığınızda “Kullanıcıları getir” çıktısını görürsünüz. (Burada [controller] ifadesi, sınıf adındaki “Controller” kelimesinden önceki kısmı alır, yani “users” olur.)
Şimdi kullanıcı bilgilerini temsil edecek User modelini tanımlayalım. Proje kök dizininde Models adlı bir klasör oluşturalım. İçine User.cs adlı bir sınıf ekleyelim.
namespace UserManagement.Api.Models
{
public class User
{
public int id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
}
Veritabanı işlemleri henüz eklenmediği için geçici (fake) kullanıcı verileri oluşturacağız. Bunun için Bogus kütüphanesini kullanacağız. Solution Explorer’da proje adına sağ tıklayalım. Manage NuGet Packages menüsünü açalım. Bogus kütüphanesini arayıp yükleyalim. Şimdi Fakes adında bir klasör oluşturalım ve içine FakesData.cs adında bir sınıf ekleyelim:
using Bogus;
using UserManagement.Api.Models;
namespace UserManagement.Api.Fakes
{
public static class FakesData
{
private static List<User> _users;
public static List<User> GetUsers(int count)
{
if (_users == null)
{
_users = new Faker<User>()
.RuleFor(u => u.id, f => f.IndexFaker + 1)
.RuleFor(u => u.FirstName, f => f.Name.FirstName())
.RuleFor(u => u.LastName, f => f.Name.LastName())
.RuleFor(u => u.UserName, f => f.Internet.UserName())
.RuleFor(u => u.Password, f => f.Internet.Password())
.Generate(count);
}
return _users;
}
}
}
Bu sınıf, Bogus yardımıyla her çalıştırmada aynı sahte kullanıcı listesini üretir. Böylece kullanıcı listesini yazmadan otomatik bir şekilde projede oluşturduk. Şimdi UsersController sınıfına dönelim ve aşağıdaki gibi kodları güncelleyelim:
using Microsoft.AspNetCore.Mvc;
using UserManagement.Api.Fakes;
using UserManagement.Api.Models;
namespace UserManagement.Api.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
private List<User> _users = FakesData.GetUsers(10);
// Tüm kullanıcıları getir
[HttpGet]
public List<User> Get()
{
return _users;
}
// Belirli id'li kullanıcıyı getir
[HttpGet("{id}")]
public User Get(int id)
{
var user = _users.FirstOrDefault(x => x.id == id);
return user;
}
// Yeni kullanıcı ekle
[HttpPost]
public User Post([FromBody] User user)
{
_users.Add(user);
return user;
}
// Kullanıcı bilgilerini güncelle
[HttpPut]
public User Put([FromBody] User user)
{
var editUser = _users.FirstOrDefault(x => x.id == user.id);
if (editUser != null)
{
editUser.FirstName = user.FirstName;
editUser.LastName = user.LastName;
editUser.UserName = user.UserName;
editUser.Password = user.Password;
}
return user;
}
// Kullanıcı sil
[HttpDelete("{id}")]
public void Delete(int id)
{
var deleteUser = _users.FirstOrDefault(x => x.id == id);
if (deleteUser != null)
_users.Remove(deleteUser);
}
}
}
Bütün platformlardan veri tabanı gibi birçok şeye ulaşıp işlem yapabilmeniz için core wen api kullanabilirsiniz.
Maarif-i Cedid
c# Web
Restful Http Get, Post, Put ve Delete İşlemlerini Visual Studio 2022 Programıyla Gerçekleştirme
Daha önceki derslerimizde RESTful API yapısının temel kavramlarını öğrenmiştik. Bu derste ise REST mimarisinde kullanılan temel HTTP yöntemlerini (GET, POST, PUT, DELETE) Visual Studio 2022 üzerinde adım adım uygulayacağız.
Microsoft, .NET Core ile birlikte geliştiricilere platformdan bağımsız, hızlı ve esnek RESTful API ortamı sunmaktadır.
Bu yapı, klasik Web Service mantığının modern ve JSON tabanlı halidir.
Visual Studio 2022, bu mimariyi en kolay şekilde hayata geçirmenizi sağlar.
Öncelikle projemizi oluşturalım.
Visual Studio 2022’yi açalım.
File > New > Project menüsüne gelelim.
Arama kutusuna “ASP.NET Core Empty” yazalım ve şablonu seçalim.
Proje adını UserManagement.Api, solution adını UserManagement olarak belirleyelim.
Framework olarak .NET 9.0 seçelim.
HTTPS seçeneğini kapatalım(HTTP5 kutucuğunu kaldırın).
Create butonuna tıklayıp projeyi oluşturalım.
Program.cs dosyasını açalım ve aşağıdaki gibi düzenleyelim.
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
var app = builder.Build();
if (app.Environment.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.MapControllers();
app.Run();
Burada yaptığımız ayarlar sayesinde RESTful yapıda Controller tabanlı çalışmayı aktifleştirmiş olduk. Şimdi projenin kök dizininde Controllers adında bir klasör oluşturalım. Bu klasörün içine UsersController.cs adlı bir sınıf ekleyelim.
using Microsoft.AspNetCore.Mvc;
namespace UserManagement.Api.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
[HttpGet]
public string Get()
{
return "Kullanıcıları getir";
}
}
}
Projemizi çalıştıralım. Tarayıcıda https://localhost:5001/api/users adresini çalıştırdığınızda “Kullanıcıları getir” çıktısını görürsünüz. (Burada [controller] ifadesi, sınıf adındaki “Controller” kelimesinden önceki kısmı alır, yani “users” olur.)
Şimdi kullanıcı bilgilerini temsil edecek User modelini tanımlayalım. Proje kök dizininde Models adlı bir klasör oluşturalım. İçine User.cs adlı bir sınıf ekleyelim.
namespace UserManagement.Api.Models
{
public class User
{
public int id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
}
Veritabanı işlemleri henüz eklenmediği için geçici (fake) kullanıcı verileri oluşturacağız. Bunun için Bogus kütüphanesini kullanacağız. Solution Explorer’da proje adına sağ tıklayalım. Manage NuGet Packages menüsünü açalım. Bogus kütüphanesini arayıp yükleyalim. Şimdi Fakes adında bir klasör oluşturalım ve içine FakesData.cs adında bir sınıf ekleyelim:
using Bogus;
using UserManagement.Api.Models;
namespace UserManagement.Api.Fakes
{
public static class FakesData
{
private static List<User> _users;
public static List<User> GetUsers(int count)
{
if (_users == null)
{
_users = new Faker<User>()
.RuleFor(u => u.id, f => f.IndexFaker + 1)
.RuleFor(u => u.FirstName, f => f.Name.FirstName())
.RuleFor(u => u.LastName, f => f.Name.LastName())
.RuleFor(u => u.UserName, f => f.Internet.UserName())
.RuleFor(u => u.Password, f => f.Internet.Password())
.Generate(count);
}
return _users;
}
}
}
Bu sınıf, Bogus yardımıyla her çalıştırmada aynı sahte kullanıcı listesini üretir. Böylece kullanıcı listesini yazmadan otomatik bir şekilde projede oluşturduk. Şimdi UsersController sınıfına dönelim ve aşağıdaki gibi kodları güncelleyelim:
using Microsoft.AspNetCore.Mvc;
using UserManagement.Api.Fakes;
using UserManagement.Api.Models;
namespace UserManagement.Api.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
private List<User> _users = FakesData.GetUsers(10);
// Tüm kullanıcıları getir
[HttpGet]
public List<User> Get()
{
return _users;
}
// Belirli id'li kullanıcıyı getir
[HttpGet("{id}")]
public User Get(int id)
{
var user = _users.FirstOrDefault(x => x.id == id);
return user;
}
// Yeni kullanıcı ekle
[HttpPost]
public User Post([FromBody] User user)
{
_users.Add(user);
return user;
}
// Kullanıcı bilgilerini güncelle
[HttpPut]
public User Put([FromBody] User user)
{
var editUser = _users.FirstOrDefault(x => x.id == user.id);
if (editUser != null)
{
editUser.FirstName = user.FirstName;
editUser.LastName = user.LastName;
editUser.UserName = user.UserName;
editUser.Password = user.Password;
}
return user;
}
// Kullanıcı sil
[HttpDelete("{id}")]
public void Delete(int id)
{
var deleteUser = _users.FirstOrDefault(x => x.id == id);
if (deleteUser != null)
_users.Remove(deleteUser);
}
}
}


