using Furion.DataValidation;
using Furion.DependencyInjection;
using Furion.UnifyResult;
using Furion.UnifyResult.Internal;
using IStation.Untity;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using System;
using System.Collections.Generic;
using System.Net;
using System.Threading.Tasks;
using IStation.Extensions;
namespace IStation.WebApi
{
///
/// 规范化RESTful风格返回值
///
[SuppressSniffer, UnifyModel(typeof(XnRestfulResult<>))]
public class XnRestfulResultProvider : IUnifyResultProvider
{
///
/// 异常
///
public IActionResult OnException(ExceptionContext context, ExceptionMetadata metadata)
{
// 解析异常信息
var exceptionMetadata = UnifyContext.GetExceptionMetadata(context);
return new JsonResult(new XnRestfulResult