Skip to content

Commit cceb0dd

Browse files
authored
Cookie の節の書き直し (#860)
1 parent 578e64f commit cceb0dd

30 files changed

+3384
-41
lines changed

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
{
2-
"editor.defaultFormatter": "esbenp.prettier-vscode"
2+
"editor.defaultFormatter": "esbenp.prettier-vscode",
3+
"[prisma]": {
4+
"editor.defaultFormatter": "Prisma.prisma"
5+
}
36
}

docs/3-web-servers/07-fetch-api-post/_samples/coffee-sales/public/script.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
document.getElementById("record-button").onclick = async () => {
22
const quantityInput = document.getElementById("quantity-input");
3-
const quantity = parseInt(quantityInput.value);
3+
const quantity = Number(quantityInput.value);
44

55
const response = await fetch("/sales", {
66
method: "POST",

docs/3-web-servers/07-fetch-api-post/http-message.drawio.svg

Lines changed: 2 additions & 2 deletions
Loading

docs/3-web-servers/07-fetch-api-post/index.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Fetch APIを用いると、サーバーからデータを取得するだけで
1212

1313
[Expressによるサーバー構築](../server/)の節では、<Term>クライアント</Term>から<Term>サーバー</Term>への要求を<Term>リクエスト</Term>と呼び、その応答を<Term>レスポンス</Term>と呼ぶことを学びました。HTTPのリクエストやレスポンスは、主に3つの要素から構成されます。
1414

15-
- **制御情報**: リクエストやレスポンスの基本的な情報を含む部分。リクエストには、<Term type="httpMethod">**メソッド**</Term>と呼ばれるHTTPリクエストの種類を指定するための情報や、リクエストの対象となるパスなどが含まれます。レスポンスには、HTTPステータスコードと呼ばれる、リクエストの結果を示すコードが含まれます。
15+
- **制御情報**: リクエストやレスポンスの基本的な情報を含む部分。リクエストには、<Term type="httpMethod">**メソッド**</Term>と呼ばれるHTTPリクエストの種類を指定するための情報や、リクエストの対象となるパスなどが含まれます。レスポンスには、<Term>**ステータスコード**</Term>と呼ばれる、リクエストの結果を示すコードが含まれます。
1616
- **ヘッダー**: リクエストやレスポンスに関する追加情報を含む部分。名前と値のペアで構成され、リクエストやレスポンスの内容をより詳細に説明します。
1717
- **ボディ**: リクエストやレスポンスの実際のデータ。リクエストのボディには、サーバーに送信するデータが含まれ、レスポンスのボディには、サーバーからクライアントに返されるデータが含まれます。
1818

@@ -139,7 +139,7 @@ app.listen(3000);
139139
```javascript title="public/script.js (ブラウザ上で動作するJavaScript)"
140140
document.getElementById("record-button").onclick = async () => {
141141
const quantityInput = document.getElementById("quantity-input");
142-
const quantity = parseInt(quantityInput.value);
142+
const quantity = Number(quantityInput.value);
143143

144144
const response = await fetch("/sales", {
145145
method: "POST",
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/node_modules
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import express from "express";
2+
import cookieParser from "cookie-parser";
3+
4+
const app = express();
5+
app.use(cookieParser());
6+
7+
app.get("/", (request, response) => {
8+
// Cookieの値は文字列なので数値に変換が必要
9+
const count = Number(request.cookies.count) || 0;
10+
const newCount = count + 1;
11+
// 変更後の値をレスポンスヘッダに乗せる
12+
response.cookie("count", newCount.toString());
13+
response.send(`${newCount}回目のアクセスですね。`);
14+
});
15+
16+
app.listen(3000);

0 commit comments

Comments
 (0)