演習
今回も以下のリポジトリを元に演習を進めます
https://github.com/matumoto1234/sccp-example
前回から少し変更が入ったので、git pull
で更新を反映させてください
# リモートリポジトリの変更をローカルリポジトリに反映させる
$ git pull git@github.com:matumoto1234/sccp-example.git
上記を実行し終えたら、以下のコマンドを実行してください
# Todoアプリのディレクトリに移動
$ cd lec09/todo-sample
# 必要なライブラリをインストール
$ npm install
# Todoアプリのページを立ち上げる
$ npm run dev
前回からの変更点
Todo の削除機能を追加しました
詳しくはAPI サーバーの仕様を見てください
内容の補足
今回の演習内容の補足を Q&A 形式で書いておきます
Q. 演習は具体的になにをすればいいですか?
A. 仕様に沿って API サーバーを作成し、Todo アプリを動かします
API サーバーの仕様 を参考に作成してください
この演習では Todo アプリを作成します
https://github.com/matumoto1234/sccp-example の lec09/以下には、todo-sample/ と todo-sample-backend/ という 2 つのディレクトリがありますが、それぞれフロントエンド側とバックエンド側の実装になっています
npm run dev
によって立ち上げた Todo アプリはlocalhost:8080
の API サーバーを必要としています
その API サーバーを作るのが演習です
Q. Go の書き方がわからないのですが参考となる資料などはありますか?
A. サンプル実装を用意してあるのでこれを参考にしてみてください
API サーバーのルーティング処理(どのエンドポイントにどの処理を割り当てるのか)、CORS への対応なども含めて書いてあります
もちろん自分で記事を探して調べていただいて大丈夫です
Q. フロントエンド側のエラーを見たいのですが、どのようにすれば見れますか?
A. デベロッパーツールを使用すると良いです
Google Chrome などにはデベロッパーツールというものがあります
Web ページを開いた状態で F12 を押す、もしくは右クリックのメニューから「Inspect」を選択すると開けます
その後、「Console」タブを選択すると出ているエラーなどを見ることができます
Q. CORS エラーというのが出てしまいます。どのようにすればいいですか?
A. サーバー側でCORSに対応する処理を書きます
CORS(Cross-Origin Resource Sharing)というものがあり、「あるオリジンで動いているWebアプリケーションに対して、別のオリジンのサーバーへのアクセスをオリジン間HTTPリクエストによって許可できる仕組み」のことです
オリジンというのは、URLのプロトコルとドメインとポート番号を順につなげたものです
例. https://yahoo.co.jp:443
Webセキュリティのポリシーによっていくつか制限があり、それをCORSによって解消します
具体的には以下のレスポンスヘッダーを追加します
Access-Control-Allow-Origin: https://trusted-one.co.jp // 特定のサイトを許可する
Access-Control-Allow-Headers: "X-Requested-With, Origin, X-Csrftoken, Content-Type, Accept" // この辺は使うフレームワークにより異なるが許可するヘッダーを定義しておく。
参考