CloudYxt.Api 3.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package CloudYxt.Api --version 3.0.1                
NuGet\Install-Package CloudYxt.Api -Version 3.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CloudYxt.Api" Version="3.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CloudYxt.Api --version 3.0.1                
#r "nuget: CloudYxt.Api, 3.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CloudYxt.Api as a Cake Addin
#addin nuget:?package=CloudYxt.Api&version=3.0.1

// Install CloudYxt.Api as a Cake Tool
#tool nuget:?package=CloudYxt.Api&version=3.0.1                

云享通.Net Core针对WEBAPI常规操作库。

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.1.3 73 11/14/2024
4.1.2 70 11/13/2024
4.1.1 78 10/21/2024
4.0.3 121 5/17/2024
4.0.1 119 5/16/2024
4.0.0 98 5/15/2024
3.3.4 126 2/29/2024
3.3.1 178 7/31/2023
3.3.0 153 7/19/2023
3.2.1 158 6/29/2023
3.2.0 144 6/28/2023
3.1.1 141 5/6/2023
3.1.0 245 1/31/2023
3.0.1 430 7/25/2022
3.0.0 461 7/14/2022
2.4.8 608 1/21/2022
2.4.7 559 1/20/2022
2.4.6 579 1/20/2022
2.4.5 321 12/24/2021
2.4.4 361 12/1/2021
2.4.3 312 11/29/2021
2.4.2 397 11/12/2021
2.4.1 383 11/12/2021
2.4.0 385 11/12/2021
2.3.3 441 10/25/2021
2.3.2 440 10/20/2021
2.3.1 432 9/10/2021
2.3.0 462 9/10/2021
2.2.1 412 9/10/2021
2.2.0 392 9/9/2021
2.1.0 318 9/7/2021
2.0.0 329 9/3/2021
1.0.1 306 9/2/2021
1.0.0 330 9/2/2021

云享通.Net Core针对WEBAPI常规操作库。

3.0.1
增加ApiMessageInfoException错误包装输出方法

3.0.0
升级包目标为.net6,增加remoteRealIp的ipv6支持

2.4.8
增加HttpContext.outputHtml、HttpContext.outputByte的ContentType类型设置

2.4.7
修复await的可返回BUG

2.4.6
增加HttpContext.outputHtml、HttpContext.outputByte用于WebApi直接输出HTML、字节数组到客户端

2.4.5
增加ApiMessagePackage支持Task控制器输出数据流的异常抛出和数据过滤包装,升级nuget版本

2.4.4
增加ApiMessageLog_Ch的入库字段名称序列

2.4.3
增加ApiMessageLog的ClickHouse类型ApiMessageLog_Ch

2.4.2
修复ApiMessagePackageIgnore属性未生效的BUG及日志记录BUG

2.4.0
同步支持CloudYxt.Base

2.3.3
修复当控制器带有动态类参数时日志未完整记录内容的BUG

2.3.2
修复BUG

2.3.1
通过ApiMessageAuthorizationAttribute认证的userId增加返回认证的Scheme

2.3.0
增加InvalidModelStateResponseFactory的ApiMessage处理方法:
services.Configure<ApiBehaviorOptions>(options =>
           {
               options.InvalidModelStateResponseFactory = ApiHelperExtend.ApiMessageInvalidModelState;
           });

注意:若要获取未验证通过的提交内容,务必EnableBuffering:
app.Use(async (ctx, next) =>
           {
               ctx.Request.EnableBuffering();
               await next();
           });

2.2.1
为ApiMessageLogAttribute增加自定义回调方法CallBackMethodName支持

2.2.0
增加权限认证属性[ApiMessageAuthorization]
权限认证成功后自动编写context.HttpContext.Items["userId"]
默认认证回调检查方法为用户自定义实现protected object mApiAuthorization(string Policy, string Roles, string AuthenticationSchemes, ActionExecutingContext context, string Scheme, string Parameter)
在WEBAPI中可通过User.Identities.FirstOrDefault(m => m.AuthenticationType == "Scheme")?.BootstrapContext获取权限检查成功的用户信息

2.1.0
增加无需日志的属性[ApiMessageLogIgnore]
调整回调日志方法mApiLog可为静态方法
context.HttpContext.Items存储的可选扩展字段名为userId、appId、custom

2.0.0
更名ApiMessage属性为ApiMessagePackage
增加ApiMessageLog,其中通用扩展属性字段可使用context.HttpContext.Items["字段名"]传递
例:(注意属性的绑定顺序)
[ApiController]
[ApiMessageLog(ApiName = "myApi")]
[ApiMessagePackage]
public class extController : ControllerBase
   {
       public void mApiLog(ApiMessageLog log)
       {
//由用户实现log的存储
       }

1.0.1
修复一个类型判断时的BUG

1.0.0:
建立基本处理模型。

[ApiMessage] :数据结果进行messageData包装
[ApiMessageException]:拦截API内报错输出为messageData模式

ApiValidationError:模型验证错误类型
services.Configure<ApiBehaviorOptions>(options =>
{
   options.InvalidModelStateResponseFactory = (context) =>
   {
       var result = context.ModelState.ToMessageResult();
       return result;
   };
});

HttpContext扩展:
remoteRealIp:来源IP
remoteFrom:来源URL
remoteAgent:来源AGENT