add origin response attribute
This commit is contained in:
@@ -0,0 +1,8 @@
|
|||||||
|
using System;
|
||||||
|
|
||||||
|
namespace SimApi.Attributes;
|
||||||
|
|
||||||
|
[AttributeUsage(AttributeTargets.Method)]
|
||||||
|
public class OriginResponseAttribute : Attribute
|
||||||
|
{
|
||||||
|
}
|
||||||
@@ -36,6 +36,11 @@ public class SimApiOptions
|
|||||||
/// default: true
|
/// default: true
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool EnableSimApiException { get; set; } = true;
|
public bool EnableSimApiException { get; set; } = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 启用返回结果拦截
|
||||||
|
/// </summary>
|
||||||
|
public bool EnableSimApiResponseFilter { get; set; } = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开启S3兼容的存储系统。
|
/// 开启S3兼容的存储系统。
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.AspNetCore.Mvc.Filters;
|
using Microsoft.AspNetCore.Mvc.Filters;
|
||||||
|
using SimApi.Attributes;
|
||||||
using SimApi.Communications;
|
using SimApi.Communications;
|
||||||
|
|
||||||
namespace SimApi.Helpers;
|
namespace SimApi.Helpers;
|
||||||
@@ -9,6 +11,11 @@ public class SimApiResponseFilter : IResultFilter
|
|||||||
{
|
{
|
||||||
public void OnResultExecuting(ResultExecutingContext context)
|
public void OnResultExecuting(ResultExecutingContext context)
|
||||||
{
|
{
|
||||||
|
if (context.ActionDescriptor.EndpointMetadata.Any(meta => meta is OriginResponseAttribute))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
context.Result = context.Result switch
|
context.Result = context.Result switch
|
||||||
{
|
{
|
||||||
// 检查结果是否为 null
|
// 检查结果是否为 null
|
||||||
|
|||||||
Reference in New Issue
Block a user