কিভাবে Node.js এ বডি-পার্সার মিডলওয়্যার ব্যবহার করবেন?

Kibhabe Node Js E Badi Parsara Midala Oyyara Byabahara Karabena



HTTP POST অনুরোধের সাথে কাজ করার সময়, 'বডি পার্সিং' কৌশলটি তাদের দেহ পরিচালনায় একটি গুরুত্বপূর্ণ ভূমিকা পালন করে। এটি ব্যবহারকারীদের প্রয়োজনীয়তা অনুযায়ী পরিবর্তন করার জন্য আগত অনুরোধ সংস্থাগুলিকে পার্স করার অনুমতি দেয়। এই কৌশলটি স্ট্রিং রিকোয়েস্ট বডিকে জাভাস্ক্রিপ্ট JSON অবজেক্টে পার্স করে যা Node.js অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে।

দ্রুত রূপরেখা

Node.js-এ মিডলওয়্যারের বেসিক দিয়ে শুরু করা যাক।







Node.js এ মিডলওয়্যার কি?

মিডলওয়্যার একটি ফাংশন যা একটি বস্তুর অনুরোধ করার অ্যাক্সেস দেয়, একটি বস্তুর প্রতিক্রিয়া জানায় এবং অ্যাপ্লিকেশন অনুরোধ-প্রতিক্রিয়া চক্রের পরবর্তী মিডলওয়্যার ফাংশনের দিকে অগ্রসর হয়ে ক্রমিক পদ্ধতিতে ফাংশনটি চালায়। এটি যাচাইকরণ, অনুরোধকারী সংস্থাগুলিকে পার্সিং এবং আরও অনেক কিছু করার মতো ক্রিয়াকলাপগুলি সম্পাদন করার জন্য অনুরোধ এবং প্রতিক্রিয়া বস্তুগুলিকে সংশোধন করার অ্যাক্সেস সরবরাহ করে।



Node.js এ বডি-পার্সার মিডলওয়্যার কি?

দ্য ' বডি-পার্সার ” হল একটি বডি-পার্সিং মিডলওয়্যার যা HTTP POST অনুরোধগুলি পরিচালনা করে৷ 'পোস্ট' অনুরোধটি সংস্থান তৈরি বা সংশোধন করতে একটি সার্ভারে ডেটা পাঠায়। 'বোড-পার্সার' মিডলওয়্যার ইনকামিং রিকোয়েস্ট বডিকে জাভাস্ক্রিপ্ট অবজেক্ট হিসেবে পার্স করে (যদি অ্যাপ্লিকেশানের বিষয়বস্তুর ধরন JSON হয়) এবং এইচটিএমএল ফর্ম (যদি MIME টাইপ হয় application/x-www-form-urlencoded)। একবার এটি হয়ে গেলে, এটি একটি অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে।



বডি-পার্সার মিডলওয়্যারের মূল বিষয়গুলি পাওয়ার পরে, এর ব্যবহারে ঝাঁপ দেওয়া যাক।





কিভাবে Node.js এ বডি-পার্সার মিডলওয়্যার ব্যবহার করবেন?

Node.js-এ বডি-পার্সার মিডলওয়্যার ব্যবহার করতে নিচের নির্দেশাবলী অনুসরণ করুন:

Node.js প্রকল্পের সূচনা করা যাক।



ধাপ 1: একটি Node.js প্রকল্প শুরু করুন

প্রথমত, নীচে বর্ণিত “নির্বাহ করে Node.js প্রকল্পটি শুরু করুন npm (নোড প্যাকেজ ম্যানেজার)' শুরু করার আদেশ:

npm init - এবং

উপরের কমান্ডে, ' -এবং' পতাকাটি 'হ্যাঁ' সমস্ত প্রশ্নের উত্তর দেওয়ার জন্য ব্যবহার করা হয়।

আউটপুট দেখায় যে ' package.json ' ফাইলটি সফলভাবে নিম্নলিখিত বৈশিষ্ট্যগুলির সেট সহ তৈরি করা হয়েছে:

ধাপ 2: বডি পার্সার ইনস্টল করুন

এরপরে, নীচের-উল্লেখিত “নির্বাহ করে বর্তমান Node.js অ্যাপ্লিকেশনে বডি-পার্সার প্যাকেজ ইনস্টল করুন npm ইনস্টলেশন কমান্ড:

npm ইন্সটল বডি - পার্সার

নীচের আউটপুট দেখায় যে বডি-পার্সার প্যাকেজটি প্রদত্ত Node.js অ্যাপ্লিকেশনে সফলভাবে ইনস্টল করা হয়েছে:

ধাপ 3: এক্সপ্রেস এবং ইজেএস ইনস্টল করুন

এখন, ইনস্টল করুন ' না (এমবেডেড জাভাস্ক্রিপ্ট টেমপ্লেটিং)” Node.js অ্যাপ্লিকেশনে লাইব্রেরি। 'ejs' হল Node.js দ্বারা ব্যবহৃত সুপরিচিত জাভাস্ক্রিপ্ট ইঞ্জিন যা HTML ডেটাকে প্লেইন জাভাস্ক্রিপ্ট হিসাবে নেয়:

npm ejs ইনস্টল করুন

এটি লক্ষ্য করা যায় যে 'ejs' লাইব্রেরি বর্তমান Node.js অ্যাপ্লিকেশনে যোগ করা হয়েছে:

উপরন্তু, ইনস্টল করুন ' প্রকাশ করা Node.js অ্যাপ্লিকেশন দ্রুত এবং সহজে তৈরি করতে ওয়েব ফ্রেমওয়ার্ক:

npm ইন্সটল এক্সপ্রেস

Node.js অ্যাপ্লিকেশনে 'এক্সপ্রেস' যোগ করা হয়েছে:

ধাপ 4: একটি EJS টেমপ্লেট তৈরি করুন

সমস্ত প্রয়োজনীয় প্যাকেজ ইনস্টল হয়ে গেলে নিম্নলিখিত কোডের লাইন সহ একটি 'ejs' টেমপ্লেট তৈরি করুন এবং এটিকে ' হিসাবে সংরক্ষণ করুন SampleForm.ejs ' ফাইল:

DOCTYPE html >
< html >
< মাথা >
< শিরোনাম > শরীর - পার্সার মিডলওয়্যার শিরোনাম >
মাথা >

< শরীর >
< কেন্দ্র >
< h1 > নমুনা ডায়েরি h1 >
< ফর্ম কর্ম = 'তথ্য সংরক্ষণ' পদ্ধতি = 'পোস্ট' >
< পূর্ব >
< লেবেল > শিরোনাম : লেবেল < ইনপুট টাইপ = 'পাঠ্য' নাম = 'শিরোনাম' > < br >
< লেবেল > তারিখ লেবেল < ইনপুট টাইপ = 'তারিখ' নাম = 'তারিখ' < br >
< লেবেল > তারিখ লেবেল < ইনপুট টাইপ = 'তারিখ' নাম = 'তারিখ' < br >
< ইনপুট টাইপ = 'জমা দিন' মান = 'ডায়েরি জমা দিন' < br >
পূর্ব >

ফর্ম >
কেন্দ্র >
শরীর >
html >

উপরের কোডের ব্যাখ্যা নিম্নরূপ:

  • দ্য ' <শিরোনাম> ” ট্যাগ এইচটিএমএল নথির শিরোনাম নির্দিষ্ট করে।
  • দ্য ' <কেন্দ্র> ” ট্যাগ ওয়েব পৃষ্ঠার কেন্দ্রে বিষয়বস্তুকে সারিবদ্ধ করে।
  • দ্য '

    ” ট্যাগ একটি প্রথম-স্তরের শিরোনাম উপাদান সন্নিবেশ করায়।

  • দ্য ' <ফর্ম> ” ট্যাগ একটি ফর্ম উপাদান তৈরি করে যা ব্যবহারকারীর কাছ থেকে তথ্য সংগ্রহ করে। 'ফর্ম' উপাদানের ভিতরে ' কর্ম ' বৈশিষ্ট্যটি ফর্ম জমা দেওয়ার সময় সম্পাদিত ক্রিয়াটি নির্দিষ্ট করে এবং ' পদ্ধতি একটি 'পোস্ট' মান থাকার বৈশিষ্ট্য সার্ভারে ডেটা পাঠায়।
  • দ্য ' <প্রে> ” ট্যাগ সোর্স কোডের মতোই নির্দিষ্ট ফন্টের প্রস্থ সহ পৃষ্ঠায় নির্দিষ্ট উপাদানগুলি প্রদর্শন করে৷
  • দ্য ' <লেবেল> ” ট্যাগ ইনপুট ক্ষেত্রের লেবেল নির্দিষ্ট করে।
  • দ্য ' <ইনপুট> ' টাইপ টাইপের ইনপুট ক্ষেত্র যোগ করে ' পাঠ্য 'এবং নাম' শিরোনাম
  • পরবর্তী দুটি “ ” ট্যাগ নির্দিষ্ট প্রকার এবং নামের ইনপুট ক্ষেত্র যোগ করে।

ধাপ 5: বডি পার্সার মিডলওয়্যার ব্যবহার করুন

এখন '.js' নামে একটি ফাইল তৈরি করুন index.js ” এবং সমস্ত আগত অনুরোধের বডি পার্স করতে এতে বডি-পার্সার মিডলওয়্যার ব্যবহার করুন। যখন '.js' ফাইলটি তৈরি করা হয়, এতে কোডের নিম্নলিখিত লাইনগুলি অনুলিপি করুন:

const বডিপার্সার = প্রয়োজন ( 'শরীর বিশ্লেষণকারী' )
const প্রকাশ করা = প্রয়োজন ( 'প্রকাশ করা' )
const পথ = প্রয়োজন ( 'পথ' )
const অ্যাপ = প্রকাশ করা ( )
পোর্ট যাক = প্রক্রিয়া env . বন্দর || 8080
অ্যাপ সেট ( 'দর্শন' , পথ। যোগদান ( __দীর্ঘনাম ) )
অ্যাপ সেট ( 'ভিউ ইঞ্জিন' , 'না' )
অ্যাপ ব্যবহার ( বডিপার্সার urlencoded ( { সম্প্রসারিত : সত্য } ) )
অ্যাপ ব্যবহার ( বডিপার্সার json ( ) )
অ্যাপ পাওয়া ( '/' , ফাংশন ( req, res ) {
res রেন্ডার ( 'নমুনা ফর্ম' )
} ) ;
অ্যাপ পোস্ট ( '/তথ্য সংরক্ষণ' , ( req, res ) => {
কনসোল লগ ( 'বডি-পার্সার ব্যবহার করা:' , অনুরোধ শরীর )
} )
অ্যাপ শুনুন ( পোর্ট, ফাংশন ( ত্রুটি ) {
যদি ( ত্রুটি ) নিক্ষেপ ত্রুটি
কনসোল লগ ( 'পোর্টে সার্ভার তৈরি করা হয়েছে' , পোর্ট )
} )

উপরে বর্ণিত কোড লাইনগুলির ব্যাখ্যা নীচে লেখা হয়েছে:

  • প্রথমত, ' প্রয়োজন() ' পদ্ধতি বর্তমান Node.js অ্যাপ্লিকেশনে 'বডি-পার্সার', 'এক্সপ্রেস', এবং 'পাথ' মডিউল আমদানি করে।
  • এর পরে, 'এর সাহায্যে এক্সপ্রেস অ্যাপ্লিকেশনটির একটি উদাহরণ তৈরি করুন প্রকাশ করা() 'নির্মাতা।
  • এর পরে, ' process.env 'প্রপার্টি স্থানীয় সার্ভারকে ডিফল্টে চালায়' পোর্ট ” যদি ডিফল্ট পোর্টটি ব্যস্ত থাকে তবে সার্ভারটি নির্দিষ্ট পোর্টে কার্যকর করবে যা ' 8080
  • এখন নির্দিষ্ট মিডলওয়্যারের সাহায্যে ভিউ ইঞ্জিন সেট আপ করুন যেখানে 'দর্শন' ফোল্ডারটিকে বোঝায় যেখানে সমস্ত ওয়েব পৃষ্ঠাগুলি সংরক্ষণ করা হয়েছে এবং ' path.join() ” পদ্ধতি বর্তমান ডিরেক্টরির পাথ সেগমেন্টে যোগ দেয় এবং একটি একক পথ তৈরি করে।
  • সব শেষ হয়ে গেলে, ' app.use() 'পদ্ধতি নির্দিষ্ট রাখে' বডি-পার্সার 'প্রদত্ত পথে মিডলওয়্যার। এই বডি-পার্সার মিডলওয়্যার ব্যবহার করে ' urlencoded ' পার্সার যেটি শুধুমাত্র 'urlencoded' বডিগুলিকে পার্স করে যার 'কন্টেন্ট-টাইপ' হেডার 'টাইপ' বিকল্পের সাথে মেলে।
  • দ্বিতীয় 'বডি পার্সার' ব্যবহার করে ' JSON ” কী-মান বিন্যাসে একটি JSON অবজেক্ট হিসাবে আগত অনুরোধের বডি পার্স করার জন্য পার্সার।
  • দ্য ' app.get() ' পদ্ধতিটি নির্দিষ্ট পাথে HTTP 'GET' অনুরোধ পাঠায় এবং একটি কলব্যাক ফাংশন চালায় যেখানে ' অনুরোধ (অনুরোধ)', এবং ' res (প্রতিক্রিয়া)' পরামিতি।
  • কলব্যাক ফাংশনের ভিতরে, ' res.render() ' যখন নির্দিষ্ট কলব্যাক ফাংশনটি কার্যকর হয় তখন পদ্ধতিটি প্রতিক্রিয়া প্রদান করে।
  • “app.post()” পদ্ধতি HTTP “POST” অনুরোধ পাঠায় যা আরও নিরাপদ কারণ এটি URL-এ ডেটা প্রদর্শন করে না। এটি একটি কলব্যাক ফাংশনকেও সংজ্ঞায়িত করে যা ' req.body ইনপুট ক্ষেত্র থেকে তথ্য পেতে.
  • সবশেষে, ' app.listen() ” পদ্ধতি নির্দিষ্ট পোর্টে একটি সংযোগ তৈরি করে এবং কলব্যাক ফাংশন সংজ্ঞায়িত করে। এই ফাংশনে, ' যদি ' বিবৃতিটি একটি ত্রুটি নিক্ষেপ করে যদি এটি প্রোগ্রাম নির্বাহের সময় ঘটে এবং ' console.log() ” কনসোলে নিশ্চিতকরণ বিবৃতি প্রদর্শন করে।

ধাপ 6: Node.js অ্যাপ্লিকেশন স্থাপন করুন

অবশেষে, 'এর সাহায্যে Node.js অ্যাপ্লিকেশনটি স্থাপন করুন নোড এইভাবে কীওয়ার্ড:



নোড সূচক। js

উপরের কমান্ডের সঞ্চালন একটি নিশ্চিতকরণ বার্তা দেখায় যে সার্ভারটি নির্দিষ্ট পোর্টে সফলভাবে তৈরি হয়েছে:

এখন নিচের URL এ যান http://localhost:8080 নমুনা ডায়েরি দেখতে. 'নমুনা ডায়েরি' ওয়েব পৃষ্ঠায় সমস্ত ইনপুট ক্ষেত্রগুলি পূরণ করুন এবং 'এ ক্লিক করুন' ডায়েরি জমা দিন বিষয়বস্তু সংরক্ষণ করতে ” বোতাম:

এটি লক্ষ্য করা যায় যে তথ্য জমা দেওয়ার পরে, টার্মিনাল স্বয়ংক্রিয়ভাবে JSON অবজেক্ট হিসাবে 'নমুনা ডায়েরি' তে ব্যবহৃত HTML উপাদানগুলির সমস্ত অংশ দেখায়:

এটি Node.js-এ বডি-পার্সার মিডলওয়্যার ব্যবহার করার বিষয়ে।

উপসংহার

ব্যবহার করতে ' বডি-পার্সার ' Node.js এ ' ব্যবহার করুন urlencoded ' এবং ' JSON ” পার্সার যে সমস্ত আগত অনুরোধের বডি পার্স করে এবং সেগুলিকে JSON অবজেক্ট হিসাবে প্রদর্শন করে৷ এটি 'POST' অনুরোধ সংস্থাগুলি পরিচালনা করে এবং HTML নথিতে ব্যবহৃত সমস্ত উপাদানগুলির বিষয়বস্তু পুনরুদ্ধার করতে তাদের পার্স করে৷ এটি ইনকামিং HTTP অনুরোধ বডি দ্বারা প্রেরিত তারিখ প্রক্রিয়া করার একটি সহজ এবং সহজ উপায় প্রদান করে। এই পোস্টটি কার্যত Node.js-এ বডি-পার্সার মিডলওয়্যারের ব্যবহার প্রদর্শন করেছে।