ASP.NETCore中每个控制器可以设置不同的JSON反序列化参数
创始人
2024-09-18 15:01:14
0

在ASP.NET Core中,可以使用JsonOptions类中的属性来设置全局JSON反序列化参数,但对于某些控制器需要特定的设置时,该方法并不适用。

要为不同的控制器设置不同的JSON反序列化参数,可以使用[JsonObjectAttribute]和[FromBody]属性来解决此问题。通过在模型类上使用JsonObjectAttribute设置特定的JSON序列化选项,然后在控制器的参数中使用[FromBody]属性将请求体绑定到模型,可以将特定的JSON反序列化参数应用于某些控制器的请求。以下是示例代码:

// 示例模型类 [JsonObject(MemberSerialization.OptIn)] public class ExampleModel { [JsonProperty] [Required] public string Property1 { get; set; }

[JsonProperty(PropertyName = "customName")]
public int Property2 { get; set; }

}

// 示例控制器 public class ExampleController : Controller { [HttpPost] public IActionResult Action1([FromBody][JsonObject]ExampleModel model) { // 该操作中的JSON反序列化使用模型的[JsonObject]属性指定的选项 // 示例操作代码 return Ok(); }

[HttpPost]
public IActionResult Action2([FromBody]ExampleModel model)
{
    // 该操作中的JSON反序列化使用全局JSON选项
    // 示例操作代码
    return Ok();
}

}

在上面的示例中,Action1中的[JsonObject]属性告诉ASP.NET Core使用模型类ExampleModel上的JsonObjectAttribute中的选项来反序列化请求体。Action2中没有指定特定的JSON选项,因此会使用全局JSON选项进行反序列化。

通过使用[JsonObject]和[FromBody]属性,可以在ASP.NET Core中为特定的控制器设置不同的JSON反序列化参数。

相关内容

热门资讯

十分钟了解!兴动辅助器,沐沐福... 十分钟了解!兴动辅助器,沐沐福建麻将app有猫腻吗,揭秘攻略(有挂机密)沐沐福建麻将app有猫腻吗辅...
一分钟了解!川麻圈斗十四有辅助... 一分钟了解!川麻圈斗十四有辅助器吗,欢聚水鱼辅助软件有用吗,攻略教程(有挂解说)亲,关键说明,川麻圈...
八分钟了解!雀神广东麻雀辅助器... 八分钟了解!雀神广东麻雀辅助器,白金岛跑得快外挂,玩家教程(有挂教程)1、玩家可以在雀神广东麻雀辅助...
五分钟了解!掌中乐游戏中心有辅... 五分钟了解!掌中乐游戏中心有辅助器吗,欢乐茶馆有外挂没有,教你攻略(有挂教学)1、该软件可以轻松地帮...
9分钟了解!一起跑得快外 挂,... 9分钟了解!一起跑得快外 挂,快玩炸翻天有挂吗,靠谱教程(有挂揭秘)1、下载好快玩炸翻天有挂吗辅助软...
四分钟了解!哈灵麻将怎么让系统... 四分钟了解!哈灵麻将怎么让系统发好牌,皮皮四川麻将攻略,德州教程(有挂教学);1、让任何用户在无需哈...
6分钟了解!yy比鸡软件发牌规... 6分钟了解!yy比鸡软件发牌规律,懒人斗十四有外挂吗,AI教程(有挂透明)1、超多福利:超高返利,海...
9分钟了解!钱塘十三水辅助挂,... 9分钟了解!钱塘十三水辅助挂,南通长牌吗,详细教程(有挂技巧);1、钱塘十三水辅助挂透视辅助简单,钱...
3分钟了解!中至吉安麻将有挂吗... 3分钟了解!中至吉安麻将有挂吗,新科乐棋牌有没有挂,必备教程(有挂软件)1、这是跨平台的新科乐棋牌有...
五分钟了解!同城比鸡辅助软件,... 五分钟了解!同城比鸡辅助软件,掌酷十三张有外挂吗,德州教程(有挂脚本)1、不需要AI权限,帮助你快速...