OData JSON camelCase

 劲舞团之舞之精灵_559 发布于 2023-01-01 15:44

我想使用CamelCasePropertyNamesContractResolver进行OData JSON响应.我怎样才能做到这一点.使用以下代码片段仅考虑webapi调用.

问候

WebApiConfig.cs

public static class WebApiConfig
{
    public static void Register(HttpConfiguration config)
    {
        // New code:
        ODataModelBuilder builder = new ODataConventionModelBuilder();
        builder.EntitySet("Configurations");
        config.MapODataServiceRoute(
            routeName: "ODataRoute",
            routePrefix: "odata",
            model: builder.GetEdmModel());

        config.Routes.MapHttpRoute(
            name: "API Default",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );

        config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
        config.Formatters.Remove(config.Formatters.XmlFormatter);
    }
}

的Global.asax.cs

public class MvcApplication : System.Web.HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();


        var config = GlobalConfiguration.Configuration;
        var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() };
        config.Formatters.JsonFormatter.SerializerSettings = settings;

        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        GlobalConfiguration.Configure(WebApiConfig.Register);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }
}

Torben Rahbe.. 17

您可以使用EnableLowerCamelCase扩展方法:

using System.Web.OData.Builder;
using System.Web.OData.Extensions;

var builder = new ODataConventionModelBuilder();
builder.EnableLowerCamelCase();

另见:http://msdn.microsoft.com/en-us/library/dn746676%28v=vs.118%29.aspx.

1 个回答
  • 您可以使用EnableLowerCamelCase扩展方法:

    using System.Web.OData.Builder;
    using System.Web.OData.Extensions;
    
    var builder = new ODataConventionModelBuilder();
    builder.EnableLowerCamelCase();
    

    另见:http://msdn.microsoft.com/en-us/library/dn746676%28v=vs.118%29.aspx.

    2023-01-01 15:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有