mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-06-12 03:03:23 +08:00
feat(ja-JP): add skill sub-reference translations (angular, remotion, etc.)
Translated 85 skill sub-reference files to achieve full parity with the English source: - skills/angular-developer/references/ — 35 files (all references) - skills/remotion-video-creation/rules/ — 28 files (all rules) - skills/tinystruct-patterns/references/ — 5 files - skills/openclaw-persona-forge/references/ — 6 files - skills/skill-comply/prompts/ — 3 files - skills/lead-intelligence/agents/ — 4 files - skills/brand-voice/references/ — 1 file - skills/frontend-slides/ — 2 files - hooks/memory-persistence/README.md — 1 file English source parity: 0 missing files (excluding rules/zh/, internal docs, and experimental examples absent from zh-CN)
This commit is contained in:
57
docs/ja-JP/skills/tinystruct-patterns/references/routing.md
Normal file
57
docs/ja-JP/skills/tinystruct-patterns/references/routing.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# tinystruct @Action ルーティングリファレンス
|
||||
|
||||
## 使用場面
|
||||
|
||||
アプリケーションで `@Action` アノテーションを使用して、CLIコマンドとHTTPエンドポイントの両方にルートを定義します。特定のパスにロジックをマッピングする必要がある場合、パラメータ化されたリクエストを処理する場合(例:IDによるリソースの取得)、または特定のHTTPメソッド(GET、POSTなど)に実行を制限しながら、環境をまたいで一貫したコマンド構造を維持したい場合に適しています。
|
||||
|
||||
## 動作の仕組み
|
||||
|
||||
`ActionRegistry` は `@Action` アノテーションをパースしてルーティングテーブルを構築します。パラメータ化されたメソッドに対して、フレームワークはJavaパラメータ型(int、Stringなど)を対応するregexセグメントに自動的にマッピングして内部マッチングパターンを生成します。例えば、`getUser(int id)` は数字をターゲットとするregexを生成し、`search(String query)` は汎用のパスセグメントをターゲットとします。
|
||||
|
||||
リクエストがディスパッチされると、`ActionRegistry` は `Request` と `Response` のような依存関係が指定されている場合、現在のリクエストの `Context` から直接取り出してアクションメソッドに自動的にインジェクトします。実行はさらに `Mode` の値によってフィルタリングされ、単一のパスがターミナルコマンドか特定タイプのHTTPリクエストかによって異なるロジックを呼び出せます。
|
||||
|
||||
### Mode値
|
||||
|
||||
| Mode | トリガーされるタイミング |
|
||||
|---|---|
|
||||
| `DEFAULT` | CLIとHTTPの両方(GET、POSTなど) |
|
||||
| `CLI` | CLIディスパッチャーのみ |
|
||||
| `HTTP_GET` | HTTP GETのみ |
|
||||
| `HTTP_POST` | HTTP POSTのみ |
|
||||
| `HTTP_PUT` | HTTP PUTのみ |
|
||||
| `HTTP_DELETE` | HTTP DELETEのみ |
|
||||
| `HTTP_PATCH` | HTTP PATCHのみ |
|
||||
|
||||
## 例
|
||||
|
||||
### 基本的なアクション宣言
|
||||
```java
|
||||
@Action(
|
||||
value = "path/subpath", // 必須:URIセグメントまたはCLIコマンド
|
||||
description = "何をするか", // --helpの出力に表示される
|
||||
mode = Mode.HTTP_POST, // デフォルト:Mode.DEFAULT(CLIとHTTPの両方)
|
||||
options = {}, // CLIオプションフラグ
|
||||
example = "curl -X POST http://localhost:8080/path/subpath/42"
|
||||
)
|
||||
public String myAction(int id) { ... }
|
||||
```
|
||||
|
||||
### パラメータ化されたパス(Regex生成)
|
||||
```java
|
||||
@Action("user/{id}")
|
||||
public String getUser(int id) { ... }
|
||||
// → パターン:^/?user/(-?\d+)$
|
||||
|
||||
@Action("search")
|
||||
public String search(String query) { ... }
|
||||
// → パターン:^/?search/([^/]+)$
|
||||
```
|
||||
|
||||
### RequestとResponseのインジェクション
|
||||
```java
|
||||
@Action(value = "upload", mode = Mode.HTTP_POST)
|
||||
public String upload(Request<?, ?> req, Response<?, ?> res) throws ApplicationException {
|
||||
// req.getParameter("file"), res.setHeader(...), など
|
||||
return "ok";
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user