لوگوی فریم‌ورک Fusion ساخته Cipher UnitFusion

Router

ثبت APIهای کلاس‌محور با [Route] در C#

نمای کلی

یک زیرکلاس FusionBaseApi را با [Route(...)] annotate کنید، سپس قبل از Listen() متد Route.Register<T>() یا Route.RegisterAll(assembly) را صدا بزنید.

[Route("api/[module]/{id}", Tags = new[] { "items" }, Desc = "Items by id")]
public class ItemModule : FusionBaseApi
{
    public object Get()
    {
        Params.TryGetValue("id", out var id);
        return Response(new { id }, Status.HTTP_SUCCESS);
    }
}

Route.Register<ItemModule>();

فعل‌های HTTP متدهای instance عمومی با نام Get، Post، Put، Patch، Delete، … هستند (بدون حساسیت به حروف بزرگ/کوچک).

قالب مسیر

همان توکن‌های Python/Node: سگمنت‌های ثابت، [module]، {name} → Params["name"].

Version = "v1" به مسیر resolve‌شده پیشوند می‌زند.

گزینه‌های [Route]

Propertyکاربرد
Tags, Desc, Title, Deprecatedمتادیتا (Swagger وقتی بعداً فعال باشد)
Versionپیشوند مسیر
Rolesmiddleware نقش را اضافه می‌کند
RoleClaim / RoleStateKeyسفارشی‌سازی lookup claim

همچنین می‌توانید Route.Register(type, path, middleware:, roles:) را صدا بزنید.

نمای درخواست

Memberمحتوا
Method, Path, Bodyپایه
Headers, Params, QueryMapها
Stateکیسهٔ middleware (JsonNode)
Response(body, status, headers?)helper پوشهٔ پاسخ

خطاها

HttpException پرتاب کنید یا دیکشنری‌های { status, body } برگردانید.

در این صفحه