Skip to content

Commit

Permalink
Fixes #1137, adds JP translation for custom routes (#1169)
Browse files Browse the repository at this point in the history
* add first draft for custom routes
* proofread and add changes
* Add Kaz's comment fixes
* Update docs/_advanced/ja_custom_routes.md

Co-authored-by: Kazuhiro Sera <[email protected]>
  • Loading branch information
wongjas and seratch authored Oct 19, 2021
1 parent 1d714c5 commit 3495b12
Showing 1 changed file with 38 additions and 3 deletions.
41 changes: 38 additions & 3 deletions docs/_advanced/ja_custom_routes.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,43 @@ order: 9
---

<div class="section-content">
`v3.7.0` から `App` を初期化する際に `customRoutes` というルートの配列を渡すことでカスタムの HTTP ルートを簡単に追加できるようになりました。

Bolt の組み込みの `ExpressReceiver` を使っているなら、カスタムの HTTP ルートを追加するのはとても簡単です。`v2.1.0` から `ExpressReceiver` には `router` というプロパティが追加されています。これは、さらにルートを追加できるように `App` 内部で保持している Exprss の [Router](http://expressjs.com/en/4x/api.html#router) を public にしたものです。
`CustomRoute` オブジェクトには `path``method``handler` という三つのプロパティが含まれていなければなりません。 HTTP メソッドに相当する `method` は文字列または文字列の配列です。
</div>

```javascript
const { App } = require('@slack/bolt');

// デフォルトの HTTPReceiver を使って Bolt アプリを初期化します
const app = new App({
token: process.env.SLACK_BOT_TOKEN,
signingSecret: process.env.SLACK_SIGNING_SECRET,
customRoutes: [
{
path: '/health-check',
method: ['GET'],
handler: (req, res) => {
res.writeHead(200);
res.end('Health check information displayed here!');
},
},
],
});

(async () => {
await app.start();
console.log('⚡️ Bolt app started');
})();
```

<details class="secondary-wrapper">
<summary class="section-head" markdown="0">
<h4 class="section-head">カスタム ExpressReceiver ルート</h4>
</summary>

<div class="secondary-content" markdown="0">
Bolt の組み込みの `ExpressReceiver` を使っているなら、カスタムの HTTP ルートを追加するのはとても簡単です。`v2.1.0` から `ExpressReceiver` には `router` というプロパティが追加されています。これは、さらにルートを追加できるように `App` 内部で保持している Express の [Router](http://expressjs.com/en/4x/api.html#router) を public にしたものです。
</div>

```javascript
Expand Down Expand Up @@ -36,7 +70,8 @@ receiver.router.post('/secret-page', (req, res) => {
});

(async () => {
await app.start(8080);
console.log('app is running');
await app.start();
console.log('⚡️ Bolt app started'');
})();
```
</details>

0 comments on commit 3495b12

Please sign in to comment.