在我的 asp.net core 2.1 Web 应用程序中,我想更改服务器序列化 JSON 响应的方式。我想按原样序列化属性名称(不在 camlCase 或 PascalCase 中)。为了实现 mvc 控制器结果的序列化,我这样做了:
services.AddMvc().AddJsonOptions(opts =>
opts.SerializerSettings.ContractResolver = new DefaultContractResolver())
现在我的控制器按照我的意图返回 JSON。
但是我的应用程序是一个单页 React 应用程序,它使用带有 spa 服务的服务器端渲染。每次用户使用浏览器的地址栏、通过刷新页面或通过外部链接导航到路由时,服务器都会使用asp-prerender-data帮助程序发送带有附加数据的预渲染 html。
似乎 spa 服务没有使用与 MVC 控制器相同的 JSON 序列化程序设置,并且我的初始页面数据以 camlCase 发送到客户端,这会破坏渲染。
DefaultContractResolver
我该如何设置asp-prerender-data
助手?