HTTP இல் POST மற்றும் PUT இடையே உள்ள வேறுபாட்டைப் புரிந்துகொள்வது

HTTP இல் POST மற்றும் PUT இடையே உள்ள வேறுபாட்டைப் புரிந்துகொள்வது
HTTP இல் POST மற்றும் PUT இடையே உள்ள வேறுபாட்டைப் புரிந்துகொள்வது

HTTP முறைகளுக்கான அறிமுகம்

RESTful இணைய சேவைகளுடன் பணிபுரியும் போது, ​​HTTP முறைகள், குறிப்பாக POST மற்றும் PUT ஆகியவற்றுக்கு இடையேயான வேறுபாடுகளைப் புரிந்துகொள்வது முக்கியம். இந்த முறைகள் பெரும்பாலும் வளங்களை உருவாக்கவும் புதுப்பிக்கவும் பயன்படுத்தப்படுகின்றன, ஆனால் அவை வெவ்வேறு வழிகளில் செயல்படுகின்றன. அவற்றின் தனித்துவமான நோக்கங்கள் மற்றும் சரியான பயன்பாடுகளைப் புரிந்துகொள்வது உங்கள் API வடிவமைப்பு திறமையாகவும் உள்ளுணர்வுடனும் இருப்பதை உறுதிசெய்ய உதவும்.

POST பொதுவாக புதிய ஆதாரங்களை உருவாக்க பயன்படுகிறது, அதே சமயம் PUT ஒரு குறிப்பிட்ட URI இல் வளத்தை உருவாக்க அல்லது மாற்ற பயன்படுகிறது. இந்த வேறுபாடு, நுட்பமானதாக இருந்தாலும், வலை சேவை சூழலில் வளங்கள் எவ்வாறு நிர்வகிக்கப்படுகின்றன மற்றும் தொடர்பு கொள்ளப்படுகின்றன என்பதற்கான முக்கியமான தாக்கங்களைக் கொண்டுள்ளது.

கட்டளை விளக்கம்
express() எக்ஸ்பிரஸ் பயன்பாட்டைத் துவக்குகிறது.
app.use(express.json()) உள்வரும் JSON கோரிக்கைகளை அலசுவதற்கு மிடில்வேர்.
app.post() ஆதாரங்களை உருவாக்குவதைக் கையாள ஒரு POST வழியை வரையறுக்கிறது.
app.put() வளங்களைப் புதுப்பித்தல் அல்லது மாற்றுதல் ஆகியவற்றைக் கையாள PUT வழியை வரையறுக்கிறது.
req.body கோரிக்கை அமைப்பில் அனுப்பப்பட்ட JSON தரவை அணுகுகிறது.
res.status().send() HTTP நிலைக் குறியீட்டை அமைத்து கிளையண்டிற்கு பதிலை அனுப்புகிறது.
fetch() முன்னோட்டத்திலிருந்து HTTP கோரிக்கைகளைச் செய்கிறது.
method: 'POST' பெறுதல் கோரிக்கையில் பயன்படுத்த வேண்டிய HTTP முறையைக் குறிப்பிடுகிறது.
headers: { 'Content-Type': 'application/json' } JSON உள்ளடக்கத்தைக் குறிக்க கோரிக்கை தலைப்புகளை அமைக்கிறது.
body: JSON.stringify(data) ஜாவாஸ்கிரிப்ட் ஆப்ஜெக்ட் தரவை ஒரு JSON சரமாக கோரிக்கை அமைப்பிற்கு மாற்றுகிறது.

POST மற்றும் PUT ஸ்கிரிப்ட்களின் செயல்பாட்டைப் புரிந்துகொள்வது

Node.js மற்றும் Express ஐப் பயன்படுத்தும் பின்தள ஸ்கிரிப்ட் HTTP முறைகளை எவ்வாறு கையாள்வது என்பதை விளக்குகிறது POST மற்றும் PUT வள மேலாண்மைக்காக. தி express() செயல்பாடு எக்ஸ்பிரஸ் பயன்பாட்டை துவக்குகிறது app.use(express.json()) உள்வரும் JSON கோரிக்கைகளை அலசுவதற்கு மிடில்வேர் பயன்படுத்தப்படுகிறது. தி app.post() ஒரு வளத்தை உருவாக்குவதற்கான வழியை முறை வரையறுக்கிறது, எங்கிருந்து ஆதார தரவு பிரித்தெடுக்கப்படுகிறது req.body மற்றும் சர்வர் பக்க பொருளில் சேமிக்கப்படும். ஆதாரம் வெற்றிகரமாக உருவாக்கப்பட்டது என்பதைக் குறிக்கும் 201 நிலைக் குறியீட்டுடன் கிளையண்டிற்கு பதில் அனுப்பப்படும்.

தி app.put() ஏற்கனவே உள்ள வளத்தைப் புதுப்பிக்க அல்லது மாற்றுவதற்கான வழியை முறை வரையறுக்கிறது. இந்த முறை ஆதார ஐடியைப் பயன்படுத்துகிறது req.params.id மற்றும் தரவு req.body சர்வர் பக்க பொருளை புதுப்பிக்க. பதில் 200 நிலைக் குறியீட்டுடன் திருப்பி அனுப்பப்பட்டது, இது ஆதாரம் வெற்றிகரமாக புதுப்பிக்கப்பட்டதைக் குறிக்கிறது. இந்த HTTP கோரிக்கைகளைச் செய்ய Fetch API ஐ ஃபிரண்ட்எண்ட் ஸ்கிரிப்ட் பயன்படுத்துகிறது. தி fetch() செயல்பாடு பொருத்தமான முறைகளுடன் பயன்படுத்தப்படுகிறது (POST மற்றும் PUT) மற்றும் பின்தளத்துடன் தொடர்புகொள்வதற்கான தலைப்புகள், கிளையன்ட் பக்கத்திலிருந்து ஆதாரங்கள் சரியாக உருவாக்கப்பட்டு புதுப்பிக்கப்படுவதை உறுதி செய்கிறது.

Node.js மற்றும் Express ஐப் பயன்படுத்தி பின்தள ஸ்கிரிப்ட்

இந்த ஸ்கிரிப்ட் ஒரு Node.js மற்றும் Express பின்தளத்தில் POST மற்றும் PUT முறைகளை எவ்வாறு பயன்படுத்துவது என்பதை விளக்குகிறது.

const express = require('express');
const app = express();
app.use(express.json());

let resources = {};

app.post('/resource', (req, res) => {
  const id = generateId();
  resources[id] = req.body;
  res.status(201).send({ id, ...req.body });
});

app.put('/resource/:id', (req, res) => {
  const id = req.params.id;
  resources[id] = req.body;
  res.status(200).send({ id, ...req.body });
});

function generateId() {
  return Math.random().toString(36).substr(2, 9);
}

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

ஜாவாஸ்கிரிப்ட் மற்றும் ஃபெட்ச் ஏபிஐ பயன்படுத்தி ஃப்ரண்ட்டெண்ட் ஸ்கிரிப்ட்

இந்த ஸ்கிரிப்ட் JavaScript மற்றும் Fetch API ஐப் பயன்படுத்தி ஃபிரண்ட்எண்ட் பயன்பாட்டிலிருந்து POST மற்றும் PUT கோரிக்கைகளை எவ்வாறு உருவாக்குவது என்பதை விளக்குகிறது.

const createResource = async (data) => {
  const response = await fetch('http://localhost:3000/resource', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
  });
  return response.json();
};

const updateResource = async (id, data) => {
  const response = await fetch(`http://localhost:3000/resource/${id}`, {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
  });
  return response.json();
};

// Example usage
createResource({ name: 'New Resource' }).then(data => console.log(data));
updateResource('existing-id', { name: 'Updated Resource' }).then(data => console.log(data));

RESTful API களில் வள உருவாக்கத்தை ஆராய்தல்

RESTful APIகளை வடிவமைக்கும் போது, ​​இவற்றிற்கு இடையே தேர்ந்தெடுக்கவும் POST மற்றும் PUT வளங்களை உருவாக்குவதற்கான முறைகள் பயன்பாட்டு வழக்கு மற்றும் விரும்பிய நடத்தையைப் பொறுத்தது. தி POST ஒரு குறிப்பிட்ட ஆதாரத்தின் கீழ் ஒரு புதிய துணை வளத்தை உருவாக்க முறை பயன்படுத்தப்படுகிறது. இது வலிமையற்றது, அதாவது பல ஒரே மாதிரியான POST கோரிக்கைகள் பல ஆதாரங்களை உருவாக்க வழிவகுக்கும். சேவையகம் புதிய ஆதாரத்தின் URI ஐ தீர்மானிக்கும் போது இந்த முறை சிறந்தது.

மறுபுறம், தி PUT முறை ஒரு குறிப்பிட்ட URI இல் வளத்தை உருவாக்கலாம் அல்லது மாற்றலாம். இது வலிமையற்றது, அதாவது ஒரே மாதிரியான பல PUT கோரிக்கைகள் ஒரே கோரிக்கையின் முடிவை உருவாக்கும். இந்த முறையானது கிளையன்ட் உருவாக்கப்படும் அல்லது புதுப்பிக்க வேண்டிய வளத்தின் URIயை குறிப்பிடும் சூழ்நிலைகளுக்கு ஏற்றது. இந்த வேறுபாடுகளைப் புரிந்துகொள்வது, எதிர்பார்க்கப்படும் நடத்தைகள் மற்றும் தேவைகளுக்கு ஏற்ப APIகளை வடிவமைக்க உதவுகிறது.

HTTP இல் POST மற்றும் PUT பற்றி அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. POST முறையின் முதன்மை பயன்பாடு என்ன?
  2. தி POST முறையானது முதன்மையாக ஒரு குறிப்பிட்ட வளத்தின் துணையாக ஒரு புதிய வளத்தை உருவாக்க பயன்படுகிறது.
  3. PUT முறையின் முதன்மை பயன்பாடு என்ன?
  4. தி PUT ஒரு குறிப்பிட்ட URI இல் வளத்தை உருவாக்க அல்லது மாற்றுவதற்கு முறை பயன்படுத்தப்படுகிறது.
  5. POST செயலற்றதா?
  6. இல்லை, தி POST முறை வலிமையற்றது அல்ல, அதாவது பல ஒரே மாதிரியான POST கோரிக்கைகள் பல ஆதாரங்களை உருவாக்கும்.
  7. PUT திறமையற்றதா?
  8. ஆம், தி PUT முறை வலிமையற்றது, அதாவது பல ஒரே மாதிரியான PUT கோரிக்கைகள் ஒரு கோரிக்கையின் அதே முடிவை உருவாக்கும்.
  9. நீங்கள் எப்போது PUT ஐ விட POST ஐப் பயன்படுத்த வேண்டும்?
  10. பயன்படுத்தவும் POST சேவையகம் புதிய ஆதாரத்தின் URI ஐ தீர்மானிக்கும் போது, ​​கிளையன்ட் அதைக் குறிப்பிடத் தேவையில்லை.
  11. POSTக்கு மேல் PUT ஐ எப்போது பயன்படுத்த வேண்டும்?
  12. பயன்படுத்தவும் PUT கிளையன்ட் உருவாக்கப்படும் அல்லது புதுப்பிக்க வேண்டிய வளத்தின் URI ஐக் குறிப்பிடும்போது.
  13. ஆதாரத்தைப் புதுப்பிக்க PUT ஐப் பயன்படுத்த முடியுமா?
  14. ஆம், தி PUT குறிப்பிடப்பட்ட URI ஏற்கனவே உள்ள வளத்தைக் குறிக்கும் பட்சத்தில், முறை ஏற்கனவே உள்ள வளத்தைப் புதுப்பிக்க முடியும்.
  15. வளத்தைப் புதுப்பிக்க POST ஐப் பயன்படுத்த முடியுமா?
  16. போது POST ஒரு வளத்தை தொழில்நுட்ப ரீதியாக புதுப்பிக்க முடியும், இது பொதுவாக புதிய ஆதாரங்களை உருவாக்க பயன்படுகிறது.
  17. PUT கோரிக்கையில் URI இல்லை என்றால் என்ன நடக்கும்?
  18. URI இல்லை என்றால், தி PUT முறை அந்த URI இல் ஒரு புதிய ஆதாரத்தை உருவாக்க முடியும்.
  19. வெற்றிகரமான POST கோரிக்கைக்கான பதில் நிலைக் குறியீடு என்ன?
  20. ஒரு வெற்றிகரமான POST கோரிக்கை பொதுவாக 201 உருவாக்கப்பட்ட நிலைக் குறியீட்டை வழங்கும்.

HTTP இல் POST மற்றும் PUTக்கான முக்கிய குறிப்புகள்

திறமையான மற்றும் பயனுள்ள RESTful APIகளை உருவாக்குவதற்கு வள உருவாக்கத்திற்கான பொருத்தமான HTTP முறையைத் தேர்ந்தெடுப்பது அவசியம். தி POST சேவையகம் வளத்தின் URI ஐ தீர்மானிக்கும் புதிய ஆதாரங்களை உருவாக்க முறை மிகவும் பொருத்தமானது. இது வலிமையற்றது, அதாவது பல கோரிக்கைகள் பல ஆதார உருவாக்கங்களுக்கு வழிவகுக்கும். மாறாக, தி PUT கிளையன்ட் ஆதாரத்திற்கான URI ஐக் குறிப்பிடும்போது இந்த முறை சிறந்தது, மேலும் இது வளங்களை உருவாக்க அல்லது புதுப்பிக்க பயன்படுகிறது. இது பலமற்றது, மீண்டும் மீண்டும் கோரிக்கைகள் இருந்தாலும் நிலையான விளைவுகளை உறுதி செய்கிறது.

இந்த நுணுக்கங்களைப் புரிந்துகொள்வது, டெவலப்பர்கள் எதிர்பார்க்கப்படும் நடத்தைகள் மற்றும் தேவைகளுக்கு ஏற்ப APIகளை வடிவமைக்க உதவுகிறது. வழங்கப்பட்டுள்ள எடுத்துக்காட்டுகள், Node.js மற்றும் Express ஐப் பயன்படுத்தி பின்தள அமைப்பில் இந்த முறைகளை எவ்வாறு செயல்படுத்துவது என்பதை நிரூபிக்கிறது, இது சேவையகம் மற்றும் கிளையன்ட் பக்கங்களில் இருந்து வளங்கள் திறம்பட நிர்வகிக்கப்படுவதை உறுதி செய்கிறது.

POST மற்றும் PUT முறைகள் பற்றிய இறுதி எண்ணங்கள்

முடிவில், RESTful API களுக்குள் வள உருவாக்கம் மற்றும் நிர்வாகத்தில் POST மற்றும் PUT முறைகள் இரண்டும் தனித்துவமான பாத்திரங்களைக் கொண்டுள்ளன. URI ஐக் குறிப்பிடத் தேவையில்லாமல் புதிய ஆதாரங்களை உருவாக்குவதற்கு POST சிறந்தது, குறிப்பிட்ட URI இல் வளங்களை உருவாக்க அல்லது புதுப்பிக்க PUT சிறந்தது. இந்த முறைகளைப் புரிந்துகொண்டு சரியான முறையில் பயன்படுத்துவதன் மூலம், டெவலப்பர்கள் வலுவான, நம்பகமான மற்றும் RESTful கட்டமைப்பின் கொள்கைகளுடன் இணைந்த APIகளை வடிவமைக்க முடியும்.