const express = require("express"); const bodyParser = require("body-parser"); const cors = require("cors"); const app = express(); var corsOptions = { origin: "http://localhost:8081" }; app.use(cors(corsOptions)); // parse requests of content-type - application/json // json形式のリクエストの許可 app.use(bodyParser.json()); // parse requests of content-type - application/x-www-form-urlencoded //配列のリクエストの許可 app.use(bodyParser.urlencoded({ extended: true })); const db = require("./app/models"); db.sequelize.sync({ force: true }).then(() => { console.log("Drop and re-sync db."); }); // simple route // "/"にGETしにきたら{ message: "Welcome to bezkoder application." }を返す app.get("/", (req, res) => { res.json({ message: "Welcome to bezkoder application." }); }); // set port, listen for requests const PORT = process.env.PORT || 8080; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}.`); });
上記のapp.get("/")の動作は確認済み。
routesが原因かもしれないがなぜlocalhost:8080/api/tutorialsを使ってもできないのかわからない。
(ポストマンで試したが、localhost:8080/api/tutorialsこのURLは表示されない。このURLにうまくクエリが行っていない?)
module.exports = app => { const tutorials = require("../controllers/tutorial.controller.js"); var router = require("express").Router(); // Create a new Tutorial router.post("/", tutorials.create); // Retrieve all Tutorials router.get("/", tutorials.findAll); // Retrieve all published Tutorials router.get("/published", tutorials.findAllPublished); // Retrieve a single Tutorial with id router.get("/:id", tutorials.findOne); // Update a Tutorial with id router.put("/:id", tutorials.update); // Delete a Tutorial with id router.delete("/:id", tutorials.delete); // Delete all Tutorials router.delete("/", tutorials.deleteAll); app.use('/api/tutorials', router); };
参考サイトはこちら
作成したものは上記サイトからデータベースをSQliteに変更したのと、index.jsはsquelize initを使用して作成ことの2点です。(ファイルのパスはしっかり修正済み。)
ターミナル出力は以下。
$ node server.js Server is running on port 8080. Executing (default): DROP TABLE IF EXISTS `tutorials`; Executing (default): DROP TABLE IF EXISTS `tutorials`; Executing (default): CREATE TABLE IF NOT EXISTS `tutorials` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `title` VARCHAR(255), `description` VARCHAR(255), `published` TINYINT(1), `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL); Executing (default): PRAGMA INDEX_LIST(`tutorials`) Drop and re-sync db.
あなたの回答
tips
プレビュー