🦒
【Node.js、Express】バックエンドサーバー8(開発vanilla)
作成日:
2022/05/03
2
■本
はじめてつくるバックエンドサーバー(Node.js & Express)
■メモ
localhost4000チェック
const http = require("http");
http.createServer(function (req, res) {
// GET、POSTリクエストに対する処理
}).listen(4000, function () {
// ブラウザでlocalhostを開いたときの処理
console.log("Listening on localhost port 4000");
});
res.write("Hello");
..
res.end();
.. ばっくえバックエンドサーバからの応答「レスポンス終わり」
ブラウザからのreqの確認
console.log("reqの中身:" , req);
→GETだった
日本語
const http = require("http");
http.createServer(function (req, res) {
// GET、POSTリクエストに対する処理
console.log("reqの中身:" , req);
res.setHeader("Content-Type", "text/plan;charset=utf-8");
res.write("こんにちは");
res.end();
}).listen(4000, function () {
// ブラウザでlocalhostを開いたときの処理
console.log("Listening on localhost port 4000");
});
outdoorの遷移先がpostに
const http = require("http");
http.createServer(function (req, res) {
// GET、POSTリクエストに対する処理
if (req.url === "/") {
res.setHeader("Content-Type", "text/plan;charset=utf-8");
res.write("こんにちは");
res.end();
} else if (req.url === "/about") {
res.setHeader("Content-Type", "text/plan;charset=utf-8");
res.write("ここはaboutページです。");
res.end();
} else if (req.url === "/hobby") {
res.setHeader("Content-Type", "text/html");
res.write('<form action="/outdoor" method="POST"><input type="text" name="sports"><button type="submit">Submit</button></form>');
res.end();
} else if (req.url === "/outdoor") {
console.log(req);
}
}).listen(4000, function () {
// ブラウザでlocalhostを開いたときの処理
console.log("Listening on localhost port 4000");
});
console.log("reqの中身:" , req);
→GETだった
◎問題点
ユーザーが/outdoor遷移した場合 … GET
本来はPOST
POSTだけのはずが、GETまで実行されている
→urlだけでなくhttpメソッドも
const { appendFile } = require("fs");
const http = require("http");
http.createServer(function (req, res) {
// GET、POSTリクエストに対する処理
if (req.url === "/") {
res.setHeader("Content-Type", "text/plan;charset=utf-8");
res.write("こんにちは");
res.end();
} else if (req.url === "/about" && req.method === "GET") {
res.setHeader("Content-Type", "text/plan;charset=utf-8");
res.write("ここはaboutページです。");
res.end();
} else if (req.url === "/hobby" && req.method === "GET") {
res.setHeader("Content-Type", "text/html");
res.write('<form action="/outdoor" method="POST"><input type="text" name="sports"><button type="submit">Submit</button></form>');
res.end();
} else if (req.url === "/outdoor" && req.method === "POST") {
console.log(req);
}
}).listen(4000, function () {
// ブラウザでlocalhostを開いたときの処理
console.log("Listening on localhost port 4000");
});
Node.js、Express比較
Node.js ... if文必要だった(大変)
Express ... appendFile.get("/" ...)
でいける
完 93%
■紹介されていた
ばっkバックエンドサーバ開発時に使われているらしい
https://www.postman.com/