Tinystruct Patterns

作者 affaan-mef648e01899b无许可证275K 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3天前更新

tinystructフレームワークでアプリケーションモジュールまたはマイクロサービスを開発する際に使用。ルーティング、コンテキスト管理、BuilderによるJSON処理、CLI/HTTPデュアルモードのパターンをカバー。

AI 生成的概览

指导使用 tinystruct Java 框架构建应用模块与微服务,涵盖路由、上下文、JSON 及 CLI/HTTP 模式。

功能
该技能提供在 tinystruct Java 框架上开发模块的架构与实现模式,该框架对 CLI 与 HTTP 一视同仁。内容涵盖扩展 AbstractApplication、用 @Action 定义路由与命令行动作、通过 Context 处理请求级状态、使用原生 Builder 组件进行 JSON 序列化、通过 application.properties 配置,以及生成 bin/dispatcher 入口点。此外还列出反模式与基于 JUnit 5 的测试方式。
适用场景
适用于创建新的 tinystruct Application 模块、定义 @Action 路由或命令行动作,以及处理请求状态与 JSON 输出时。也用于配置数据库或系统设置,以及调试路由冲突或 CLI 参数解析。
运行要求
需要 tinystruct Java 框架和 Java 运行时;所述测试模式需要 JUnit 5。仅为说明性内容,不附带脚本。

tinystruct 開発パターン

tinystruct Java フレームワークを使用してモジュールをビルドするためのアーキテクチャと実装パターン。CLIとHTTPが等しく扱われる軽量なシステムです。

使用するタイミング

  • AbstractApplication を拡張して新しい Application モジュールを作成するとき。
  • @Action を使用してルートとコマンドラインアクションを定義するとき。
  • Context を通じてリクエストごとの状態を処理するとき。
  • ネイティブの Builder コンポーネントを使用してJSONシリアライゼーションを行うとき。
  • application.properties でデータベース接続またはシステム設定を構成するとき。
  • ApplicationManager.init() を通じて標準的な bin/dispatcher エントリポイントを生成または再生成するとき。
  • ルーティング競合(Action)またはCLI引数解析のデバッグを行うとき。

動作の仕組み

tinystruct フレームワークは、@Action でアノテーションされたメソッドをターミナルとWeb環境の両方でルーティング可能なエンドポイントとして扱います。アプリケーションは AbstractApplication を拡張することで作成され、init() などのコアライフサイクルフックとリクエスト Context へのアクセスが提供されます。

ルーティングは ActionRegistry によって処理され、パスセグメントをメソッド引数に自動的にマッピングして依存関係を注入します。データのみのサービスでは、ゼロ依存のフットプリントを維持するために、JSONシリアライゼーションにネイティブの Builder コンポーネントを使用すべきです。フレームワークには ApplicationManager のユーティリティも含まれており、bin/dispatcher スクリプトを生成することでプロジェクトの実行環境をブートストラップします。

例

基本アプリケーション(MyService)

java
public class MyService extends AbstractApplication {    @Override    public void init() {        this.setTemplateRequired(false); // データ/APIアプリの .view 参照を無効化    }
    @Override public String version() { return "1.0.0"; }
    @Action("greet")    public String greet() {        return "Hello from tinystruct!";    }}

パラメータ付きルーティング(getUser)

java
// Web: /api/user/123 または CLI: "bin/dispatcher api/user/123" を処理@Action("api/user/(\\d+)")public String getUser(int userId) {    return "User ID: " + userId;}

HTTPモード分岐(login)

java
@Action(value = "login", mode = Mode.HTTP_POST)public boolean doLogin() {    // ログイン処理    return true;}

ネイティブJSONデータ処理(getData)

java
@Action("api/data")public Builder getData() throws ApplicationException {    Builder builder = new Builder();    builder.put("status", "success");    Builder nested = new Builder();    nested.put("id", 1);    nested.put("name", "James");    builder.put("data", nested);    return builder;}

設定

設定は src/main/resources/application.properties で管理されます。

テストパターン

JUnit 5 を使用して、アクションが ActionRegistry に登録されていることを検証することでアクションをテストします。

レッドフラグとアンチパターン

症状正しいパターン
com.google.gson または com.fasterxml.jackson のインポートorg.tinystruct.data.component.Builder を使用する。
.view ファイルの FileNotFoundExceptionAPIのみのアプリでは init() 内で setTemplateRequired(false) を呼び出す。
private メソッドへの @Action アノテーションアクションはフレームワークに登録されるために public である必要がある。
アプリ内での main(String[] args) のハードコーディングすべてのモジュールのエントリポイントとして bin/dispatcher を使用する。
手動での ActionRegistry 登録自動検出のために @Action アノテーションを優先する。

テクニカルリファレンス

詳細なガイドは references/ ディレクトリにあります:

  • アーキテクチャと設定 [blocked] — 抽象化、パッケージマップ、プロパティ
  • ルーティングと@Action [blocked] — アノテーションの詳細、モード、パラメータ
  • データ処理 [blocked] — JSONのためのネイティブ Builder の使用
  • システムと使用方法 [blocked] — Context、セッション、イベント、CLI使用方法
  • テストパターン [blocked] — JUnit 5 統合と ActionRegistry テスト

来源与署名

来源:affaan-m/ecc位于docs/ja-JP/skills/tinystruct-patterns提交ef648e0

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架