駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

RESTfulなルーティング1

ルーティングについてまとめていきます。

ツイッターの簡易的なものをローカルで作成してみます。

新規コメントを入力でき、そのコメントが一覧で見れたり、コメントを削除したりなど・・・

 

今回は、getメソッドを使用して「コメント一覧」のルーティングを記述します。

CRUDの「Read:読み取り」の部分です。

index.js

const express = require('express');
const app = express();
const path = require('path');
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

let comments = [
{
username: 'sasaki',
comment: 'おもしろいーー!'
},
{
username: 'arita',
comment: '野球が好きです'
},
{
username: 'suzuki',
comment: '趣味は貯金'
},
{
username: 'tanaka',
comment: 'ジャンガジャンガ〜'
}
];
 
//コメント一覧を取得
app.get('/comments', (req, res) => {
res.render('comments/index', { comments });
});
 
app.listen(3000, () => {
console.log('ポート3000で待ち');
});

index.ejs

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>コメント一覧</title>
</head>
<body>
<h1>コメント一覧</h1>
<ul>
<% for (let c of comments) {%>
<li>
<%= c.comment %> -- <b>
<%= c.username %>
</b>
  <a href="/comments/<%= c.id %>">詳細</a>
</li>
<% } %>
</ul>
</body>
</html>

この結果、作成したダミーのコメントをループさせ、コメント一覧が取得できます。