Netor.MicroService.Abstractions 1.0.9

Netor.MicroService.Abstractions

��Ŀ����

Netor.MicroService.Abstractions �ṩ����΢����������Ļ�������������ͳһ���ظ�ʽ����ݵ� HttpContext ���ʡ�ȫ����������Ӧ��ʽ�����õȣ������� Minimal API ������ʵ��ҵ��˵㡣

������

  • ͳһ���������ṩ Success/Failed/Json ��ݷ�����Լ��ͳһ��Ӧ��ʽ��
  • ��������ķ��ʣ�ͨ�� HttpContext/Request/Response ���ٷ������������ģ����������ϲ���ע�룩��
  • ȫ����Ӧ��ʽ����ͨ�� MicroServiceOptions.Formater �Զ���ͳһ��Ӧ��װ��
  • ȫ���������أ�ͨ�� MicroServiceOptions.OnRequest �ڴ���ǰִ�������߼���
  • ������Ĭ�ϲ��ԣ�ͨ�� MicroServiceOptions.ValueFrom ָ��Ĭ�ϲ���ֵ��Դ��
  • ��������ǣ��ṩ [Controller] �������ڲ�����������֣����������ϲ�������·���뼤���

�����ܹ�

  • ���ԣ�C#
  • Ŀ���ܣ�.NET 8
  • ����������
    • ASP.NET Core Abstractions��IResult��HttpContext��MVC ���ԣ�
    • Microsoft.Extensions.Options�����ð󶨣�

��Ŀ�ṹ���뵱ǰ����һ�£�

  • Controllers
    • BaseController��ͳһ�����������ķ��ʵĻ��ࡣ
  • Attributes
    • ControllerAttribute����ǿ��������ͣ����ڿ��������֡�
  • Extensions
    • MicroServiceOptions��ȫ��ѡ�ValueFrom��Formater��OnRequest����
    • TypeExtensions���������ж���AOT �Ѻã���
  • Enums
    • ValueFrom������Ĭ�ϰ���Դö�١�

ʹ�÷���

  1. ��Ӧ�������� MicroServiceOptions����ѡ��
var builder = WebApplication.CreateBuilder(args);

// ����ȫ��ѡ�ʾ����
builder.Services.Configure<Netor.MicroService.MicroServiceOptions>(o =>
{
    o.ValueFrom = Netor.MicroService.ValueFrom.FromForm; // Ĭ�ϴӱ�����ȡ����ĿĬ��ֵ��

    // ͳһ��Ӧ��װ������Ϊ (status, code, message, data)
    o.Formater = t => new { s = t.status, c = t.code, m = t.message, d = t.data };

    // ȫ���������أ����� (�Ƿ�ͨ��, ��Ϣ)��
    o.OnRequest = async httpCtx => await Task.FromResult((true, "ok"));
});

var app = builder.Build();

app.Run();
  1. �����������Minimal API ��񣬷��� IResult��
using Microsoft.AspNetCore.Mvc;
using Netor.MicroService;

[Controller]
public partial class UserController 
{
    [HttpGet("/users")]
    public IResult Index()
        => Success(new { items = Array.Empty<object>(), total = 0 });

    [HttpPost("/users")]
    public IResult Create([FromForm] string name)
        => string.IsNullOrWhiteSpace(name)
            ? Failed("name is required", 400)
            : Success(new { id = Guid.NewGuid(), name });
}

˵����

  • BaseController �ṩ Success/Failed/Json ��ݷ����� HttpContext �������ԡ�
  • HttpContext �����������ϲ��ܣ�������������/����������ִ��ǰע�롣
  • ͳһ��Ӧ��ʽ��ͨ�� MicroServiceOptions.Formater ȫ�ֶ��ơ�

����

��ӭͨ�� Issue �� Pull Request ���빱�ס�

No packages depend on Netor.MicroService.Abstractions.

Version Downloads Last updated
1.2.5 19 10/30/2025
1.2.4 8 09/29/2025
1.2.3 2 09/29/2025
1.2.2 7 09/26/2025
1.2.1 3 09/26/2025
1.2.0 4 09/26/2025
1.1.9 5 09/24/2025
1.1.8 18 09/07/2025
1.1.7 17 09/03/2025
1.1.6 9 09/03/2025
1.1.5 7 09/02/2025
1.1.4 8 09/02/2025
1.1.3 6 09/02/2025
1.1.2 9 09/01/2025
1.0.9 7 09/01/2025
1.0.7 10 09/01/2025
1.0.6 9 09/01/2025
1.0.5 7 09/01/2025
1.0.3 8 09/01/2025
1.0.2 8 09/01/2025
1.0.1 8 09/01/2025
1.0.0 8 09/01/2025