কম্পিউটার

কিভাবে C# ASP.NET WebAPI-তে URI-এর সাথে ওয়েব API সংস্করণ করবেন?


একবার একটি ওয়েব API পরিষেবা সর্বজনীন হয়ে গেলে, বিভিন্ন ক্লায়েন্ট অ্যাপ্লিকেশনগুলি আমাদের ওয়েব API পরিষেবাগুলি ব্যবহার করা শুরু করে৷ ব্যবসার বৃদ্ধি এবং প্রয়োজনীয়তা পরিবর্তিত হওয়ার সাথে সাথে আমাদের পরিষেবাগুলিকেও পরিবর্তন করতে হতে পারে, তবে পরিষেবাগুলির পরিবর্তনগুলি এমনভাবে করা উচিত যাতে কোনও বিদ্যমান ক্লায়েন্ট অ্যাপ্লিকেশনগুলি ভেঙে না যায়৷

এটি যখন ওয়েব API সংস্করণ সাহায্য করে। আমরা বিদ্যমান পরিষেবাগুলিকে যেমন আছে তেমনই রাখি, তাই বিদ্যমান ক্লায়েন্ট অ্যাপ্লিকেশনগুলিকে ভঙ্গ করি না এবং পরিষেবাটির একটি নতুন সংস্করণ বিকাশ করি যা নতুন ক্লায়েন্ট অ্যাপ্লিকেশনগুলি ব্যবহার করা শুরু করতে পারে৷

সংস্করণ বাস্তবায়নের একটি বিকল্প হল URI ব্যবহার করে। কিভাবে এটি বাস্তবায়ন করতে হয় তার একটি উদাহরণ নিচে দেওয়া হল৷

উদাহরণ

আসুন সাডেন্ট কন্ট্রোলারের একটি সংস্করণ 1 (V1) বিবেচনা করি যার নিম্নলিখিত কর্মপদ্ধতি রয়েছে৷

ছাত্র মডেল V1৷ −

namespace DemoWebApplication.Models{
   public class StudentV1{
      public int Id { get; set; }
      public string Name { get; set; }
   }
}

ছাত্র নিয়ন্ত্রক V1

using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class StudentV1Controller : ApiController{
      List<StudentV1> students = new List<StudentV1>{
         new StudentV1{
            Id = 1,
            Name = "Mark"
         },
         new StudentV1{
            Id = 2,
            Name = "John"
         }
      };
      [Route("api/v1/students")]
      public IEnumerable<StudentV1> Get(){
         return students;
      }
      [Route("api/v1/students/{id}")]
      public StudentV1 Get(int id){
         var studentForId = students.FirstOrDefault(x => x.Id == id);
         return studentForId;
      }
   }
}

উপরের উদাহরণে আমরা সংস্করণ বাস্তবায়নের জন্য অ্যাট্রিবিউট রাউটিং ব্যবহার করেছি। উপরের উদাহরণের আউটপুট নীচে দেখানো হয়েছে −

কিভাবে C# ASP.NET WebAPI-তে URI-এর সাথে ওয়েব API সংস্করণ করবেন?

কিভাবে C# ASP.NET WebAPI-তে URI-এর সাথে ওয়েব API সংস্করণ করবেন?

এখন স্টুডেন্ট কন্ট্রোলারে বলা যাক, ব্যবসা শুধুমাত্র নতুন ব্যবহারকারীদের জন্য একটি নতুন পরিবর্তনের প্রস্তাব করেছে এবং বিদ্যমান ব্যবহারকারীদের এখনও সংস্করণ 1 ব্যবহার করা উচিত। তাই এই ক্ষেত্রে আমাদের সংস্করণ 2 (V2) প্রবর্তন করতে হবে।

ছাত্র মডেল V2৷ −

উদাহরণ

namespace DemoWebApplication.Models{
   public class StudentV2{
      public int Id { get; set; }
      public string FirstName { get; set; }
      public string LastName { get; set; }
   }
}

ছাত্র নিয়ন্ত্রক V2

using DemoWebApplication.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;
namespace DemoWebApplication.Controllers{
   public class StudentV2Controller : ApiController{
      List<StudentV2> students = new List<StudentV2>{
         new StudentV2{
            Id = 1,
            FirstName = "Roger",
            LastName = "Federer"
         },
         new StudentV2{
            Id = 2,
            FirstName = "Tom",
            LastName = "Bruce"
         }
      };
      [Route("api/v2/students")]
      public IEnumerable<StudentV2> Get(){
         return students;
      }
      [Route("api/v2/students/{id}")]
      public StudentV2 Get(int id){
         var studentForId = students.FirstOrDefault(x => x.Id == id);
         return studentForId;
      }
   }
}

আউটপুট

উপরের উদাহরণের আউটপুট নীচে দেখানো হয়েছে৷

কিভাবে C# ASP.NET WebAPI-তে URI-এর সাথে ওয়েব API সংস্করণ করবেন?

কিভাবে C# ASP.NET WebAPI-তে URI-এর সাথে ওয়েব API সংস্করণ করবেন?



  1. কিভাবে আমরা C# ASP.NET WebAPI তে অ্যাকশন পদ্ধতির জন্য উপনামের নাম নির্ধারণ করতে পারি?

  2. কিভাবে C# ASP.NET WebAPI এ CORS সমস্যা সমাধান করবেন?

  3. C# ASP.NET WebAPI-তে একটি অ্যাকশন পদ্ধতি থেকে কাস্টম ফলাফলের ধরন কীভাবে ফেরত দেওয়া যায়?

  4. ভিপিএন দিয়ে কীভাবে ওয়েব নিরাপত্তা জোরদার করা যায়