質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

Q&A

解決済

3回答

2620閲覧

express(Node.js)のrouteメソッドって何ですか?

uer03108

総合スコア194

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

0グッド

0クリップ

投稿2018/09/30 12:25

azureのNode.js用のREST APIについて調べていて、expressのrouteメソッドと言う言葉が出て来ました。
これは何なのでしょうか。
下記サイトに説明がありますが、いまいち使い方が分かりません。

expressについては初心者ですが、パラメタ送受信(get, post)については理解しています。

参照
http://expressjs.com/ja/guide/routing.html

※azureのREST APIは、公式サンプルがC#しかないのか。。。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

複数サイトと言うよりは1つのwebサイトをイメージするとわかりやすいと思います。
一つのwebサイトは複数のページを持っています。
aboutリンクボタンを押したら、同じwebサイト内のaboutページを表示。
indexリンクボタンを押したら、同じwebサイト内のindexページを表示。
みたいに振り分けるのがrouteメソッド。

javascript

1app.get('/about', function (req, res) { 2 //aboutページを表示 3}); 4 5app.get('/index', function (req, res) { 6 //indexページを表示 7});

投稿2018/09/30 17:50

編集2018/09/30 17:52
aruto

総合スコア175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uer03108

2018/10/01 04:50

有難うございます。  ×複数サイト  〇複数ページ の間違いでした。
guest

0

ベストアンサー

クライアント要求に対するそれらの応答の定義のことです

上記そのままかと思います。

かみ砕いた説明が良ければ下記とか。

投稿2018/09/30 13:18

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uer03108

2018/09/30 16:43 編集

実質的には、複数サイトを順番にアクセスするための定義という言い方も出来るでしょうか。 つまり、ルートですね。 今のところ、ありがた味がいまいち分かりませんが。
m.ts10806

2018/09/30 21:12 編集

いえ、複数サイトではなく、あくまで1サイト内での出来事です。 teratailでいえば、この質問は questions/149365 というURLになっていますね。 これは questions というカテゴリのIDが149365 の質問という意味です。 内部的には URLの1番目にquestions がきたら質問詳細用のプログラムを起動するように指定されて(ここがルーティング) そのプログラムの中で2番目の149365 というIDをもつ質問をDBから取得するように(ここはコントローラ)作られているはずです ありがたみとしては、ここはオブジェクト指向のメリットにもつながってくるのですが、役割の明確化ですね。URLにもきちんと意味を持たせられます。 もう少し言うとルーティングはいわば道案内です。高層ビルに入ってある部屋を目指すときに、ルート案内があるのとないのとではどちらが目的の部屋に辿り着くのが早いでしょうか?というところですね。
uer03108

2018/10/01 01:21

有難うございます。  ×複数サイト  〇複数ページ の間違いでした。申し訳ありません。 getやpostの場合は、自動的に"questions/149365"まで辿り着くところを明示的に  1.questions  2.questions/149365 とアクセス順を指定してあげると言うことですね。 メリットとしては、アクセス速度の高速化ということで。
m.ts10806

2018/10/01 01:41

どこにも「アクセス速度の高速化」とは書いていませんが・・・。 「早い」はそういうことではないですけど、うまい表現が見つかりません^^; あくまで「役割の明確化」ですよ。
uer03108

2018/10/01 04:51

有難うございますm(_ _)m
guest

0

route とは 道 です。
このパスでこのメソッドでリクエストが来たらここを通る、と定義をするメソッドのことです。
こういう定義をしてリクエストを正しく振り分けることをルーティングといいます。

追記

参照としてご提示のURLのページにこう書いてあります。

Express は、HTTP メソッドに対応する以下のルーティング・メソッドをサポートします。get、post、put、head、delete、options、trace、copy、lock、mkcol、move、purge、propfind、proppatch、unlock、report、mkactivity、checkout、merge、m-search、notify、subscribe、unsubscribe、patch、search、および connect。

このへんまとめて全部をrouteメソッドと呼ぶわけです。

HTTPリクエストは、まずHostによって特定のサーバにたどり着き、Portによって待ち受けている決まったソフトウェアが呼び出されます。
それ以下のパスによって、アプリケーション内でルーティングを行います。

/heroというパスでGETリクエストが来たらこの処理
/heroというパスでPOSTリクエストが来たらこの処理
/villainというパスでPUTリクエストが来たらこの処理
/villainというパスでDELETEリクエストが来たらこの処理
って感じですね。
そのための.get()とか.post()とか.put()とか.delete()とかっていうメソッドをまとめてrouteメソッドといいます。

投稿2018/09/30 12:55

編集2018/10/01 00:03
spookybird

総合スコア1803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

uer03108

2018/09/30 16:52

いつも、有難うございます。 使い道がいまいち分かりませんが、複数サイトへのアクセス(ルート)を定義できると言うことでしょうか。 getやpostは、いちサイトへのアクセスだけですが。
uer03108

2018/10/01 04:49

有難うございます。 結構、種類があるんですね。 参考サイトにapp.route('/book')という表現があったので、「何だこれ?」と思っておりました。 サイト内でのページアクセス順(ルート)の定義ですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問