如何在asp.net WebApi中基于请求上下文将JSON反序列化为派生类?



我在c#中有一个自定义的JsonConverter,它将根据用户的角色对请求进行反序列化。问题是我被迫使用不太需要的静态服务提供者来获取http上下文,因为我不能注入所需的服务。我正在寻找一个更干净的解决方案来解决这个问题,所以任何建议都会很有帮助。

使用一个InputFormatter传递一个InputFormatterContext,它有HttpContext。这允许我创建一个JsonSeralizerSettings,添加一个转换器(基于上下文),然后在调用JsonConvert.DeseralizerObject(...)时使用这些设置。当使用AddMvc时,InputFormatter是options对象的一部分。

最新更新