{"id":191,"date":"2016-06-04T14:39:55","date_gmt":"2016-06-04T11:39:55","guid":{"rendered":"http:\/\/ahmadmagdy.me\/blog\/?p=191"},"modified":"2019-10-12T15:48:13","modified_gmt":"2019-10-12T13:48:13","slug":"%d9%83%d9%8a%d9%81%d9%8a%d8%a9-%d8%a8%d9%86%d8%a7%d8%a1-restful-api-%d8%a8%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-node-js-%d9%88-express-js-%d8%a7%d9%84%d8%ac%d8%b2%d8%a1-%d8%a7%d9%84%d8%a3%d9%88","status":"publish","type":"post","link":"https:\/\/magdy.dk\/arblog\/?p=191","title":{"rendered":"\u0643\u064a\u0641\u064a\u0629 \u0628\u0646\u0627\u0621 RESTful API \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Node.js \u0648 Express.js \u0627\u0644\u062c\u0632\u0621 \u0627\u0644\u0623\u0648\u0644"},"content":{"rendered":"<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064a\u0643\u0645<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0634\u0631\u062d \u0628\u0633\u064a\u0637 \u0633\u0646\u062a\u0639\u0644\u0645 \u0633\u0648\u064a\u0627\u064b \u0643\u064a\u0641\u064a\u0629 \u0639\u0645\u0644\u00a0RESTful API \u0639\u0646 \u0637\u0631\u064a\u0642 node \u00a0\u0648 express<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0627\u0644API \u0627\u062e\u062a\u0635\u0627\u0631 \u0644\u0640 &#8220;Application Programming Interface&#8221; \u0648\u0647\u064a \u0639\u0628\u0627\u0631\u0629 \u0639\u0646 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u064a\u0629 \u062a\u0628\u0646\u064a\u0647\u0627 \u0648\u0645\u0646 \u062b\u0645 \u062a\u0642\u0648\u0645 \u0628\u0639\u0645\u0644 implementation \u0644\u0647\u0627 \u0628\u0627\u064a \u0644\u063a\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0627\u064a platform \u062a\u0631\u064a\u062f\u0647.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0645\u0639\u0646\u0649 RESTful API \u0648\u0647\u064a \u0627\u062e\u062a\u0635\u0627\u0631 \u0644\u0640 &#8220;Representational state transfer&#8221; \u0648\u0633\u064a\u0644\u0629 \u0644\u0646\u0642\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0648\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0641\u0639\u0627\u0644 HTTP \u00a0\u0627\u0644\u0645\u0639\u0631\u0648\u0641\u0629 \u0645\u062b\u0644: POST , GET , PUT , DELETE<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0633\u0646\u0642\u0648\u0645 \u0628\u0639\u0645\u0644 API \u0628\u0633\u064a\u0637\u0629 \u062a\u0642\u0648\u0645 \u0628\u062c\u0644\u0628 \u0648\u062a\u062e\u0632\u064a\u0646 \u0628\u064a\u0627\u0646\u0627\u062a \u0634\u0631\u0643\u0627\u062a \u0648\u0627\u0631\u0642\u0627\u0645 \u0647\u0648\u0627\u062a\u0641\u0647\u0627 \u0628\u0627\u0644\u0627\u0633\u062a\u0639\u0627\u0646\u0629 \u0628\u0640MongoDB \u0648 \u0627\u0644\u062d\u0632\u0645\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647\u0627 Mongoose.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0633\u0627\u0641\u062a\u0631\u0636 \u0627\u0646\u0643 \u0642\u0645\u062a \u0628\u062a\u062b\u0628\u064a\u062a npm \u0648\u0646\u0648\u0627\u0629 node<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0627\u0644dependencies \u0627\u0648 node packages \u0627\u0644\u062a\u064a \u0633\u0646\u062d\u062a\u0627\u062c\u0647\u0627 :<\/span><\/p>\n<ul style=\"text-align: center;\">\n<li style=\"text-align: right;\"><span style=\"font-size: 14pt;\">&#8211; express \u0648\u0647\u064a \u0627\u0644\u0640framework \u00a0\u0627\u0644\u0645\u0628\u0646\u064a \u0639\u0644\u0649 node.js \u0627\u0644\u0630\u064a \u0633\u0646\u0642\u0648\u0645 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647<\/span><\/li>\n<li style=\"text-align: right;\"><span style=\"font-size: 14pt;\">&#8211; mongoose \u0648\u0647\u064a \u0627\u0644\u0640 package \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 MongoDB\u00a0<\/span><\/li>\n<li style=\"text-align: right;\"><span style=\"font-size: 14pt;\">&#8211; body-parser \u0648\u0647\u064a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0633\u062a\u0642\u0628\u0627\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0631\u0633\u0644\u0629 \u0639\u0628\u0631 \u0627\u0644\u062a\u0637\u0628\u064a\u0642<\/span><\/li>\n<li style=\"text-align: right;\"><span style=\"font-size: 14pt;\">&#8211; morgan \u0648\u0647\u064a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u062a\u062a\u0628\u0639 \u0627\u0644requests \u0648 \u0627\u0644response \u0641\u064a \u062a\u0637\u0628\u064a\u0642\u0646\u0627<\/span><\/li>\n<\/ul>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0641\u064a \u0627\u0644\u0628\u062f\u0627\u064a\u0629 \u0646\u0646\u0634\u0626 \u0645\u062c\u0644\u062f \u0644\u0644\u0645\u0634\u0631\u0648\u0639 \u0648\u0646\u0633\u0645\u064a\u0647 \u0648\u0644\u064a\u0643\u0646 Company Project<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0646\u0646\u062a\u0642\u0644 \u0628\u0627\u0644 cmd \u0627\u0644\u0649 \u062f\u0627\u062e\u0644\u0647<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0645\u0646 \u062b\u0645 \u0646\u0634\u0631\u0639 \u0641\u064a \u0628\u062f\u0627 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0645\u0631 :<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">npm init<\/pre>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0633\u0627\u062a\u0631\u0643 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0627\u0633\u0627\u0633\u064a\u0629 \u0643\u0645\u0627 \u0647\u064a , \u064a\u0645\u0643\u0646\u0643 \u062a\u063a\u064a\u064a\u0631 \u0645\u0627\u062a\u0631\u064a\u062f \u0645\u0646\u0647\u0627<\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"\" src=\"http:\/\/s02.arab.sh\/i\/00075\/2kgr7mmumuyk.png\" alt=\"\" width=\"762\" height=\"696\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0646\u0643\u062a\u0628 yes \u0627\u0648 \u0646\u0636\u063a\u0637 Enter<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0646\u0644\u0627\u062d\u0638 \u0628\u0639\u062f\u0647\u0627 \u0638\u0647\u0648\u0631 \u0645\u0644\u0641\u00a0package.json \u0627\u0644\u0630\u064a \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u0627\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062a\u064a \u0642\u0645\u0646\u0627\u00a0\u0628\u0627\u062e\u062a\u064a\u0627\u0631\u0647\u0627 \u0645\u0633\u0628\u0642\u0627<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0643\u0645\u0627 \u0630\u0643\u0631\u0646\u0627 \u0633\u0627\u0628\u0642\u0627 \u0627\u0646\u0646\u0627 \u0633\u0646\u062d\u062a\u0627\u062c \u0644\u0640\u00a0node packages \u0644\u0643\u064a \u0646\u0639\u0645\u0644 \u0639\u0644\u064a\u0647\u0627\u00a0<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0641\u0646\u0642\u0648\u0645 \u0628\u0643\u062a\u0627\u0628\u0629 \u0627\u0644\u0627\u0645\u0631 \u0627\u0644\u062a\u0627\u0644\u064a\u00a0<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">npm install express morgan body-parser mongoose --save<\/pre>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"\" src=\"http:\/\/s02.arab.sh\/i\/00075\/ge80o38fau36.png\" alt=\"\" width=\"714\" height=\"408\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0633\u0646\u0644\u0627\u062d\u0638 \u062a\u063a\u064a\u0631 \u0645\u062d\u062a\u0648\u0649 \u0645\u0644\u0641\u00a0package.json \u0628\u0627\u0644\u0634\u0643\u0644 \u0627\u0644\u062a\u0627\u0644\u064a\u00a0<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0638\u0647\u0648\u0631 \u0645\u0644\u0641\u00a0node_modules \u0627\u0644\u0630\u064a \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0645\u0627\u0642\u062f \u0637\u0644\u0628\u0646\u0627 \u062a\u062d\u0645\u064a\u0644\u0647<\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"\" src=\"http:\/\/s02.arab.sh\/i\/00075\/mry64893sqdz.png\" alt=\"\" width=\"930\" height=\"561\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0646\u0646\u0634\u0626 \u0645\u0644\u0641 \u062c\u062f\u064a\u062f \u0628\u0627\u0633\u0645 index.js \u0627\u0644\u0630\u064a \u0643\u062a\u0628\u0646\u0627\u0647 \u0641\u064a \u0627\u0644 entry point \u0627\u0648 \u0643\u0645\u0627 \u0627\u062e\u062a\u0631\u062a \u0627\u0633\u0645\u0647 \u0644\u0643\u064a \u0646\u0639\u0645\u0644 \u0639\u0644\u064a\u0647<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0646\u0636\u064a\u0641 \u0641\u064a\u0647 \u0647\u0630\u0647\u00a0\u0627\u0644\u0627\u0643\u0648\u0627\u062f\u00a0<\/span><\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\/\/\u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0643\u0644 \u0627\u0644\u062d\u0632\u0645 \u0627\u0644\u062a\u064a \u0633\u0646\u062d\u062a\u0627\u062c\u0647\u0627 \u062e\u0644\u0627\u0644 \u0627\u0644\u0639\u0645\u0644\r\nvar express = require('express');\r\nvar bodyParser = require('body-parser');\r\nvar morgan  = require('morgan');\r\nvar mongoose = require('mongoose');\r\n\r\n\/\/\u0627\u0633\u062a\u062d\u062f\u0627\u062b \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0627\u0635 \u0628\u0646\u0627 \u0645\u0646 \u062e\u0644\u0627\u0644 express\r\nvar app = express(); \r\n\r\n\/\/\u0631\u0642\u0645 \u0627\u0644\u0628\u0648\u0631\u062a \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u0627\u062a\u0635\u0627\u0644\r\nvar PORT = process.env.PORT || 3000;\r\n\r\n\/\/\u0644\u0643\u064a \u0646\u0646\u062a\u0628\u0639 \u0627\u0644 requests \u0648 response \u0645\u0646  \u062e\u0644\u0627\u0644 \u0627\u0644 command line\r\napp.use(morgan('dev'));\r\n\r\n\/\/\u0627\u0633\u062a\u062e\u062f\u0627\u0645 bodyParser \u0644\u0643\u064a \u0646\u0633\u062a\u0637\u064a\u0639 \u0627\u062e\u062f \u0627\u0644\u062f\u0627\u062a\u0627 \u0627\u0644\u0645\u0631\u0633\u0644\u0629 \u0644\u0646\u0627\r\napp.use(bodyParser.urlencoded({ extended: true }));\r\napp.use(bodyParser.json());\r\n\r\n\/\/\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 \u0639\u0644\u0649 \u0631\u0642\u0645 \u0627\u0644\u0628\u0648\u0631\u062a \u0627\u0644\u0645\u062e\u062a\u0627\u0631\r\napp.listen(PORT,function(err){\r\n   if(err)console.log(err);\r\n   console.log('connected on PORT '+PORT);\r\n});<\/pre>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0634\u0631\u062d \u0644\u0645\u0627 \u0642\u0645\u0646\u0627 \u0628\u0647 :<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0627\u0648\u0644 \u0642\u0645\u0646\u0627 \u0628\u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u062d\u0632\u0645 \u0627\u0644\u062a\u064a \u0642\u0645\u0646\u0627 \u0628\u062a\u062d\u0645\u064a\u0644\u0647\u0627 \u0633\u0627\u0628\u0642\u0627\u064b \u0644\u0643\u064a \u0646\u0633\u062a\u0637\u064a\u0639 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627 \u0641\u064a \u0645\u0634\u0631\u0648\u0639\u0646\u0627<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0642\u0645\u0646\u0627 \u0628\u0627\u0633\u062a\u062d\u062f\u0627\u062b \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u062e\u0627\u0635 \u0628\u0646\u0627 app \u0645\u0646 express \u0627\u0644\u0630\u064a \u0627\u0633\u062a\u062f\u0639\u064a\u0646\u0627\u0647<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0642\u0645\u0646\u0627 \u0628\u062a\u0639\u064a\u064a\u0646 \u0631\u0642\u0645 \u0644PORT \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0648\u0647\u0648 \u0627\u0645\u0627 \u064a\u0643\u0648\u0646\u00a0process.env.PORT \u0627\u064a \u064a\u062a\u0645 \u062a\u0639\u064a\u064a\u0646\u0647 \u0645\u0633\u0628\u0642\u0627\u064b \u0645\u0646 \u0642\u0628\u0644 \u0627\u0639\u062f\u0627\u062f\u0627\u062a \u0628\u064a\u0626\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u0639\u064a\u0646\u0629 \u0627\u0644\u062a\u064a \u062a\u0639\u0645\u0644 \u0639\u0644\u064a\u0647\u0627 \u0648\u0627\u0646 \u0644\u0645 \u064a\u0643\u0646 \u064a\u062a\u0645 \u062a\u0639\u064a\u064a\u0646 \u0642\u064a\u0645\u062a\u0647 3000. \u064a\u0645\u0643\u0646\u0643 \u062a\u0639\u064a\u064a\u0646 \u0627\u064a \u0642\u064a\u0645\u0629 \u062a\u0634\u0627\u0621<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0642\u0645\u0646\u0627 \u0627\u064a\u0636\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 morgan \u0641\u064a \u0645\u0631\u062d\u0644\u0629 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0644\u0643\u064a \u0646\u0633\u062a\u0637\u064a\u0639 \u062a\u062a\u0628\u0639 \u0627\u0644requests \u0648\u0627\u0644response \u0644\u0647\u0627 \u0648\u0633\u062a\u0638\u0647\u0631 \u0639\u0644\u0649 \u0634\u0627\u0634\u0629 \u0627\u0644command line \u0633\u0646\u0631\u0627\u0647\u0627 \u0633\u0648\u064a\u0627\u064b<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0627\u062e\u064a\u0631\u0627\u064b \u0627\u0633\u062a\u0639\u0645\u0644\u0646\u0627 bodyParser \u0644\u0643\u064a \u064a\u0645\u0643\u0646\u0646\u0627 \u0645\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0648 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u064a \u0628\u064a\u0627\u0646\u0627\u062a \u062a\u0631\u0633\u0644 \u0644\u0644\u0633\u064a\u0631\u0641\u0631 \u00a0\u0641\u0645\u062b\u0644\u0627 \u0639\u0646\u062f \u0627\u0636\u0627\u0641\u0627\u062a \u0628\u064a\u0627\u0646\u0627\u062a \u0643\u0625\u0633\u0645 \u0634\u062e\u0635 \u0648\u0631\u0642\u0645 \u0647\u0627\u062a\u0641\u0647 \u0641\u064a \u0641\u0648\u0631\u0645 \u062a\u0633\u062c\u064a\u0644 \u0647\u0630\u0647 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0644\u0646 \u0646\u0633\u062a\u0637\u064a\u0639 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u064a\u0647\u0627 \u0645\u0628\u0627\u0634\u0631\u0629 \u0628\u062f\u0648\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645\u00a0bodyParser \u0648\u0633\u0646\u0631\u0649 \u0647\u0630\u0627 \u0645\u0633\u062a\u0642\u0628\u0644\u0627\u064b.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0628\u0639\u062f \u0645\u0627\u0636\u0628\u0637\u0646\u0627 \u0627\u0644\u0627\u0639\u062f\u0627\u062f\u0627\u062a \u062f\u0639\u0648\u0646\u0627 \u0646\u062c\u0631\u0628 \u0645\u0627\u0642\u0645\u0646\u0627 \u0628\u0639\u0645\u0644\u0647 \u0648\u0647\u0644 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u064a\u0639\u0645\u0644 \u0627\u0645 \u0644\u0627 \u0628\u062a\u0634\u063a\u064a\u0644\u0647 \u0639\u0644\u0649 PORT \u0642\u0645\u0646\u0627 \u0628\u062a\u062d\u062f\u064a\u062f\u0647\u0627 app.listen<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u062a\u0648\u062c\u062f callback function \u0627\u0630\u0627 \u0643\u0627\u0646 \u0647\u0646\u0627\u0643 \u0627\u064a \u0645\u0634\u0627\u0643\u0644 \u0641\u064a \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0633\u064a\u0631\u062c\u0639\u0647\u0627 \u0644\u0646\u0627 \u0648\u064a\u0637\u0628\u0639\u0647\u0627.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0633\u064a\u0639\u0644\u0645\u0646\u0627 \u0627\u0646\u0647 \u0627\u062a\u0635\u0644 \u0639\u0644\u0649 \u0631\u0642\u0645 \u0627\u0644\u0628\u0648\u0631\u062a \u0627\u0644\u0630\u064a \u062d\u062f\u062f\u0646\u0627\u0647, \u062f\u0639\u0648\u0646\u0627 \u0646\u062c\u0631\u0628 \u0633\u0648\u064a\u0627.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0627\u062d\u0641\u0638 \u0645\u0627\u0642\u0645\u0646\u0627 \u0628\u0647 \u0648\u0634\u063a\u0644 \u0627\u0644command line \u0648\u0627\u0643\u062a\u0628 node index.js<\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"\" src=\"http:\/\/s02.arab.sh\/i\/00076\/o7e6l8n5j426.png\" alt=\"\" width=\"738\" height=\"488\" \/><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0631\u0627\u0626\u0639! \u0641\u062a\u0637\u0628\u064a\u0642\u0646\u0627 \u064a\u0639\u0645\u0644 \u0627\u0644\u0627\u0646<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u062a\u062c\u0631\u0628\u0629 \u0639\u0644\u0649 \u0645\u062a\u0635\u0641\u062d\u0643 \u0628\u0627\u0644\u0630\u0647\u0627\u0628 \u0627\u0644\u0649<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">localhost:3000<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0633\u062a\u062c\u062f \u0639\u0644\u0649 \u0627\u0644\u0635\u0641\u062d\u0629<\/span><\/p>\n<blockquote><p><span style=\"font-size: 14pt;\">Cannot GET \/<\/span><\/p><\/blockquote>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0641\u0646\u062d\u0646 \u0644\u0645\u0627 \u0646\u0642\u0645 \u0628\u0627\u0636\u0627\u0641\u0629 \u0645\u062d\u062a\u0648\u0649 \u0627\u0648 \u0627\u064a \u0634\u0626 \u064a\u0645\u0643\u0646\u0647 \u0639\u0631\u0636\u0647.<\/span><\/p>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\">\u0648\u0627\u0630\u0627 \u0631\u062c\u0639\u0646\u0627 \u0644\u0631\u0624\u064a\u0629 \u0627\u0644command line \u0645\u0631\u0629 \u0627\u062e\u0631\u0649 \u0633\u0646\u062c\u062f\u00a0\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644Request \u0648\u0645\u0627\u0630\u0627 \u062d\u0635\u0644 \u0648\u0647\u0630\u0627 \u0628\u0641\u0636\u0644 \u062d\u0632\u0645\u0629 Morgn \u0627\u0644\u0644\u064a \u062a\u062a\u0628\u0639 \u0643\u0644 \u0645\u0627\u064a\u062d\u0635\u0644.<\/span><\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" title=\"\" src=\"http:\/\/s02.arab.sh\/i\/00076\/cgcsmt915nif.png\" alt=\"\" width=\"738\" height=\"488\" \/><\/p>\n<p style=\"text-align: center;\"><strong><span style=\"font-size: 14pt;\">\u064a\u062a\u0628\u0639 \u0641\u064a \u0627\u0644\u062c\u0632\u0621 \u0627\u0644\u0642\u0627\u062f\u0645 &#8230;&#8230;.<\/span><\/strong><\/p>\n<blockquote>\n<p style=\"text-align: center;\"><span style=\"font-size: 14pt;\"><a href=\"https:\/magdy.dev\/blog\/ar\/?p=214\">\u0643\u064a\u0641\u064a\u0629 \u0628\u0646\u0627\u0621 RESTful API \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 Node.js \u0648 Express.js \u0627\u0644\u062c\u0632\u0621 \u0627\u0644\u062b\u0627\u0646\u064a<\/a><\/span><\/p>\n<\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>\u0627\u0644\u0633\u0644\u0627\u0645 \u0639\u0644\u064a\u0643\u0645 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0634\u0631\u062d \u0628\u0633\u064a\u0637 \u0633\u0646\u062a\u0639\u0644\u0645 \u0633\u0648\u064a\u0627\u064b \u0643\u064a\u0641\u064a\u0629 \u0639\u0645\u0644\u00a0RESTful API \u0639\u0646 \u0637\u0631\u064a\u0642 node \u00a0\u0648 express \u0627\u0644API \u0627\u062e\u062a\u0635\u0627\u0631 \u0644\u0640 &#8220;Application Programming Interface&#8221; \u0648\u0647\u064a \u0639\u0628\u0627\u0631\u0629 \u0639\u0646 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u064a\u0629 \u062a\u0628\u0646\u064a\u0647\u0627 \u0648\u0645\u0646 \u062b\u0645 \u062a\u0642\u0648\u0645 \u0628\u0639\u0645\u0644 implementation \u0644\u0647\u0627 \u0628\u0627\u064a \u0644\u063a\u0629 \u0627\u0648 \u0639\u0644\u0649 \u0627\u064a platform \u062a\u0631\u064a\u062f\u0647. \u0648\u0645\u0639\u0646\u0649 RESTful API \u0648\u0647\u064a \u0627\u062e\u062a\u0635\u0627\u0631 \u0644\u0640 &#8220;Representational state transfer&#8221; \u0648\u0633\u064a\u0644\u0629 \u0644\u0646\u0642\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0633\u064a\u0631\u0641\u0631 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,11],"tags":[13,15,14],"class_list":["post-191","post","type-post","status-publish","format-standard","hentry","category-2","category-11","tag-api","tag-expressjs","tag-node"],"aioseo_notices":[],"views":2409,"_links":{"self":[{"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=191"}],"version-history":[{"count":21,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/posts\/191\/revisions"}],"predecessor-version":[{"id":667,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=\/wp\/v2\/posts\/191\/revisions\/667"}],"wp:attachment":[{"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/magdy.dk\/arblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}