{"id":1880,"date":"2024-08-01T12:48:56","date_gmt":"2024-08-01T05:48:56","guid":{"rendered":"https:\/\/itsci.mju.ac.th\/~watcharin\/?p=1880"},"modified":"2025-08-01T12:37:54","modified_gmt":"2025-08-01T05:37:54","slug":"it241-lab04-wix-com","status":"publish","type":"post","link":"https:\/\/itscidev.mju.ac.th\/w\/?p=1880","title":{"rendered":"IT241-Lab04 wix.com"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"parent-fieldname-title\">\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e14\u0e49\u0e27\u0e22 wix.com<\/h1>\n\n\n\n<div class=\"wp-block-group is-vertical is-content-justification-left is-layout-flex wp-container-core-group-is-layout-4f181d16 wp-block-group-is-layout-flex\">\n<h3 class=\"wp-block-heading\">CONTENTS<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"#overview\">\u0e1a\u0e17\u0e19\u0e33<\/a><\/li>\n\n\n\n<li>Download and Install Postman<\/li>\n\n\n\n<li>Run Nginx in Docker<\/li>\n\n\n\n<li>Run NodeJS Server using Docker<\/li>\n<\/ol>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"overview\">\u0e1a\u0e17\u0e19\u0e33<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e43\u0e19\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e1d\u0e36\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e2d\u0e2d\u0e19\u0e44\u0e25\u0e19\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e17\u0e1a\u0e17\u0e27\u0e19\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e08\u0e32\u0e01\u0e2d\u0e07\u0e04\u0e4c\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e2d\u0e14\u0e04\u0e25\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e1a\u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c\u0e23\u0e32\u0e22\u0e0a\u0e32\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e44\u0e14\u0e49 \u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e41\u0e25\u0e30\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e15\u0e49\u0e19\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e19\u0e35\u0e49 \u0e42\u0e14\u0e22\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e1d\u0e36\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e07\u0e48\u0e32\u0e22\u0e14\u0e49\u0e27\u0e22\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e14\u0e49\u0e27\u0e22 Wix.com<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e41\u0e25\u0e30\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e42\u0e14\u0e22\u0e1b\u0e23\u0e30\u0e22\u0e38\u0e01\u0e15\u0e4c\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e25\u0e32\u0e22\u0e19\u0e33\u0e21\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1c\u0e25\u0e07\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e15\u0e48\u0e32\u0e07 \u0e46 <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Lab<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Download and Install Postman<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e25\u0e34\u0e07\u0e04\u0e4c <a href=\"https:\/\/www.postman.com\/downloads\/\">Postman <\/a>\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Run Nginx in Docker<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run -d --name myapp-static -p 80:80 -v C:\/Users\/ACER\/html:\/usr\/share\/nginx\/html:ro nginx:stable<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e0a\u0e37\u0e48\u0e2d index.html \u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19 <strong>C:\/Users\/ACER\/html<\/strong> \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 HTML \u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html>\n&lt;html>\n  &lt;head>\n    &lt;meta charset=\"utf-8\" \/>\n    &lt;meta\n      name=\"viewport\"\n      content=\"width=device-width, initial-scale=1.0, user-scalable=no\"\n    \/>\n  &lt;\/head>\n  &lt;body>\n    &lt;h1>Hello&lt;\/h1>\n  &lt;\/body>\n&lt;\/html><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1a\u0e23\u0e32\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e44\u0e1b\u0e17\u0e35\u0e48 URL<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/localhost:3000\/items\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:80<\/a><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e41\u0e01\u0e49\u0e44\u0e02\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e42\u0e14\u0e22\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21 (\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2d\u0e32\u0e08\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e23\u0e39\u0e1b\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e40\u0e15\u0e34\u0e21\u0e2a\u0e35 \u0e1b\u0e23\u0e31\u0e1a\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e43\u0e2b\u0e49\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21)<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u0e23\u0e2b\u0e31\u0e2a\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32<br>\u0e0a\u0e37\u0e48\u0e2d \u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25<br>\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19<br>&lt;\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2d\u0e37\u0e48\u0e19 \u0e46 \u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23&gt;<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e17\u0e35\u0e48\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e48\u0e07\u0e43\u0e19 Assigmment<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Run NodeJS Server using Docker<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>docker run --rm -it -p 3000:3000 -v <strong>C:\/Users\/ACER\/myapp<\/strong>:\/usr\/src\/app -w \/usr\/src\/app node:18-alpine sh<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e08\u0e30\u0e1b\u0e23\u0e32\u0e01\u0e0e Command Prompt \u0e14\u0e31\u0e07\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\/usr\/src\/app #<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e0a\u0e37\u0e48\u0e2d <strong>package.json<\/strong> \u0e44\u0e27\u0e49\u0e43\u0e19 <strong>C:\/Users\/ACER\/myapp<\/strong> \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e42\u0e04\u0e49\u0e14\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n\u00a0 \u00a0 \"name\": \"test-api\",\n\u00a0 \u00a0 \"version\": \"1.0.0\",\n\u00a0 \u00a0 \"description\": \"A simple Express API for testing GET, POST, PUT, DELETE\",\n\u00a0 \u00a0 \"main\": \"app.js\",\n\u00a0 \u00a0 \"scripts\": {\n\u00a0 \u00a0 \u00a0 \u00a0 \"start\": \"node app.js\"\n\u00a0 \u00a0 },\n\u00a0 \u00a0 \"dependencies\": {\n\u00a0 \u00a0 \u00a0 \u00a0 \"express\": \"^4.18.2\"\n\u00a0 \u00a0 }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e0a\u0e37\u0e48\u0e2d <strong>app.js<\/strong> \u0e44\u0e27\u0e49\u0e43\u0e19 <strong>C:\/Users\/ACER\/myapp<\/strong> \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e42\u0e04\u0e49\u0e14\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>const express = require('express');\nconst app = express();\nconst port = 3000;\n\n\/\/ Built-in middleware to parse JSON bodies\napp.use(express.json());\n\n\/\/ In-memory data store\nlet items = &#91;];\nlet nextId = 1;\n\n\/\/ GET \/items \u2014 return all items\napp.get('\/items', (req, res) => {\n\u00a0 res.json(items);\n});\n\n\/\/ GET \/items\/:id \u2014 return one item\napp.get('\/items\/:id', (req, res) => {\n\u00a0 const id = parseInt(req.params.id, 10);\n\u00a0 const item = items.find(i => i.id === id);\n\u00a0 if (!item) return res.status(404).json({ error: 'Item not found' });\n\u00a0 res.json(item);\n});\n\n\/\/ POST \/items \u2014 add a new item\napp.post('\/items', (req, res) => {\n\u00a0 const { name } = req.body;\n\u00a0 if (!name) return res.status(400).json({ error: 'Name is required' });\n\u00a0 const newItem = { id: nextId++, name };\n\u00a0 items.push(newItem);\n\u00a0 res.status(201).json(newItem);\n});\n\n\/\/ PUT \/items\/:id \u2014 update an existing item\napp.put('\/items\/:id', (req, res) => {\n\u00a0 const id = parseInt(req.params.id, 10);\n\u00a0 const { name } = req.body;\n\u00a0 const itemIndex = items.findIndex(i => i.id === id);\n\u00a0 if (itemIndex === -1) return res.status(404).json({ error: 'Item not found' });\n\u00a0 if (!name) return res.status(400).json({ error: 'Name is required' });\n\u00a0 items&#91;itemIndex].name = name;\n\u00a0 res.json(items&#91;itemIndex]);\n});\n\n\/\/ DELETE \/items\/:id \u2014 remove an item\napp.delete('\/items\/:id', (req, res) => {\n\u00a0 const id = parseInt(req.params.id, 10);\n\u00a0 const initialLength = items.length;\n\u00a0 items = items.filter(i => i.id !== id);\n\u00a0 if (items.length === initialLength) {\n\u00a0 \u00a0 return res.status(404).json({ error: 'Item not found' });\n\u00a0 }\n\u00a0 res.status(204).end();\n});\n\n\/\/ Start server\napp.listen(port, () => {\n\u00a0 console.log(`Test API listening at http:\/\/localhost:${port}`);\n});<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e01\u0e25\u0e31\u0e1a\u0e44\u0e1b\u0e17\u0e35\u0e48 Command Prompt \u0e17\u0e35\u0e48\u0e23\u0e31\u0e19 NodeJS Docker \u0e43\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e19\u0e35\u0e49<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\/usr\/src\/app #<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 NodeJS Package \u0e42\u0e14\u0e22\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\/usr\/src\/app # <strong>npm install<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 NodeJS package \u0e40\u0e2a\u0e23\u0e47\u0e08\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e14 \u0e46 \u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07 NodeJS Server<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\/usr\/src\/app # <strong>npm start<\/strong><\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1a\u0e23\u0e32\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e44\u0e1b\u0e17\u0e35\u0e48 URL<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/localhost:3000\/items\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/localhost:3000\/items<\/a> <\/p>\n<\/blockquote>\n\n\n\n<h5 class=\"wp-block-heading\">\u0e01\u0e32\u0e23\u0e2a\u0e48\u0e07\u0e07\u0e32\u0e19<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Lab 4.1: \u0e2a\u0e48\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e48\u0e27\u0e19\u0e15\u0e31\u0e27\u0e17\u0e35\u0e48\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e19\u0e41\u0e25\u0e49\u0e27<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lab 4.2: \u0e2a\u0e48\u0e07 5 \u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22 (\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16 capture \u0e2b\u0e19\u0e49\u0e32\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Postman \u0e21\u0e32\u0e2a\u0e48\u0e07\u0e44\u0e14\u0e49)<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d List all items<\/li>\n\n\n\n<li>\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Get item by ID<\/li>\n\n\n\n<li>\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Create new item \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Postman \u0e41\u0e25\u0e30 \u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48 item \u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e2b\u0e21\u0e48 (\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e48\u0e2d\u0e19\u0e25\u0e1a)<\/li>\n\n\n\n<li>\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Delete item \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Postman \u0e41\u0e25\u0e30 \u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48 item \u0e2b\u0e32\u0e22\u0e44\u0e1b (\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e48\u0e2d\u0e19\u0e25\u0e1a)<\/li>\n\n\n\n<li>\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Edit item \u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d Postman \u0e41\u0e25\u0e30 \u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48 item \u0e17\u0e35\u0e48\u0e41\u0e01\u0e49\u0e44\u0e02 (\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e40\u0e17\u0e35\u0e22\u0e1a\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e48\u0e2d\u0e19\u0e25\u0e1a)<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21 \u0e41\u0e01\u0e49\u0e44\u0e02 item \u0e14\u0e49\u0e27\u0e22\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"name\": \"ITSCI\"\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e14\u0e49\u0e27\u0e22 wix.com CONTENTS \u0e1a\u0e17\u0e19\u0e33 \u0e43\u0e19\u0e1b\u0e0f\u0e34\u0e1a\u0e31\u0e15\u0e34\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e1d\u0e36\u0e01\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e2d\u0e2d\u0e19\u0e44\u0e25\u0e19\u0e4c\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23\u0e17\u0e1a\u0e17\u0e27\u0e19\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e14\u0e49\u0e32\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e41\u0e25\u0e30\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e08\u0e32\u0e01\u0e2d\u0e07\u0e04\u0e4c\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e17\u0e35\u0e48\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a \u0e0b\u0e36\u0e48\u0e07\u0e2a\u0e2d\u0e14\u0e04\u0e25\u0e49\u0e2d\u0e07\u0e01\u0e31\u0e1a\u0e27\u0e31\u0e15\u0e16\u0e38\u0e1b\u0e23\u0e30\u0e2a\u0e07\u0e04\u0e4c\u0e23\u0e32\u0e22\u0e0a\u0e32\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e44\u0e14\u0e49 \u0e23\u0e27\u0e21\u0e16\u0e36\u0e07\u0e40\u0e02\u0e49\u0e32\u0e43\u0e08\u0e41\u0e25\u0e30\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e40\u0e1a\u0e37\u0e49\u0e2d\u0e07\u0e15\u0e49\u0e19\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e23\u0e30\u0e1a\u0e1a\u0e19\u0e35\u0e49 \u0e42\u0e14\u0e22\u0e17\u0e14\u0e25\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e1d\u0e36\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e07\u0e48\u0e32\u0e22\u0e14\u0e49\u0e27\u0e22\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e14\u0e49\u0e27\u0e22 Wix.com \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e44\u0e23\u0e01\u0e47\u0e15\u0e32\u0e21\u0e01\u0e48\u0e2d\u0e19\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e27\u0e32\u0e07\u0e41\u0e1c\u0e19\u0e01\u0e32\u0e23\u0e2d\u0e2d\u0e01\u0e41\u0e1a\u0e1a\u0e41\u0e25\u0e30\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e1a\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c \u0e42\u0e14\u0e22\u0e1b\u0e23\u0e30\u0e22\u0e38\u0e01\u0e15\u0e4c\u0e43\u0e0a\u0e49\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e25\u0e32\u0e22\u0e19\u0e33\u0e21\u0e32\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e1c\u0e25\u0e07\u0e32\u0e19\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e15\u0e48\u0e32\u0e07 \u0e46 Lab Download and Install Postman \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e17\u0e35\u0e48\u0e25\u0e34\u0e07\u0e04\u0e4c Postman \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14 Run Nginx in Docker \u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e0a\u0e37\u0e48\u0e2d index.html \u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19 C:\/Users\/ACER\/html \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19\u0e42\u0e04\u0e49\u0e14 HTML \u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19 \u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e42\u0e14\u0e22\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1a\u0e23\u0e32\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e44\u0e1b\u0e17\u0e35\u0e48 URL http:\/\/localhost:80 \u0e41\u0e01\u0e49\u0e44\u0e02\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e42\u0e14\u0e22\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e15\u0e48\u0e32\u0e07 \u0e46 \u0e14\u0e31\u0e07\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e19\u0e35\u0e49 \u0e1e\u0e23\u0e49\u0e2d\u0e21\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e43\u0e2b\u0e49\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21 (\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e2d\u0e32\u0e08\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e23\u0e39\u0e1b\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e07 \u0e40\u0e15\u0e34\u0e21\u0e2a\u0e35 \u0e1b\u0e23\u0e31\u0e1a\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e43\u0e2b\u0e49\u0e2a\u0e27\u0e22\u0e07\u0e32\u0e21) \u0e23\u0e2b\u0e31\u0e2a\u0e19\u0e31\u0e01\u0e28\u0e36\u0e01\u0e29\u0e32\u0e0a\u0e37\u0e48\u0e2d \u0e19\u0e32\u0e21\u0e2a\u0e01\u0e38\u0e25\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e48\u0e19&lt;\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2d\u0e37\u0e48\u0e19 \u0e46 \u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23&gt; \u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e17\u0e35\u0e48\u0e15\u0e01\u0e41\u0e15\u0e48\u0e07\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e48\u0e07\u0e43\u0e19 Assigmment Run NodeJS [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,65],"tags":[56],"education":[62,59],"class_list":["post-1880","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laboratories","category-teaching","tag-cms","education-62","education-itsci"],"blocksy_meta":[],"featured_image_src":"https:\/\/itscidev.mju.ac.th\/w\/wp-content\/uploads\/2024\/09\/fotor-ai-20240919184329.jpg","author_info":{"display_name":"Dr.Watcharin Sarachai","author_link":"https:\/\/itscidev.mju.ac.th\/w\/?author=2"},"_links":{"self":[{"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/posts\/1880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1880"}],"version-history":[{"count":26,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/posts\/1880\/revisions"}],"predecessor-version":[{"id":3484,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/posts\/1880\/revisions\/3484"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=\/wp\/v2\/media\/2487"}],"wp:attachment":[{"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1880"},{"taxonomy":"education","embeddable":true,"href":"https:\/\/itscidev.mju.ac.th\/w\/index.php?rest_route=%2Fwp%2Fv2%2Feducation&post=1880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}